- TI nspire
[TI-nspire] Fourier Transform Library 푸리에 변환 라이브러리 (ported from TI-92)
오리지널(TI-92/89) 라이브러리
https://allcalc.org/52455
Author: Lars Frederiksen
E-mail: LTF@POST8.TELE.DKPS. Please do not ask for more programs.
포팅 -
진행중
아무리 찾아봐도 TI-nspire 용 fourier transform 라이브러리(프로그램)이 없고,
TI-92/89 용으로는 단 하나 찾아지긴 했는데, 포팅하려고 보니 코드가 단순하지가 않네요.
진행 완료
- fourier() 함수 - libpub
- fouriersub() 함수
- ifourier() 함수 - libpub
- eval() 함수 - libpub
- phi() 함수 // 원본은 pi() 인데, 제한이 있어 변경함
- lambda() 함수
미진행
- Help Program
- Plot program
- Menu Program
프로그램 내부에서 변화된 내용
프로그램 구조가 바뀌지는 않았구요.
일부 변수명이 바뀌는 수준의 자잘한 변화가 있습니다.
1. Γ 를 변수명으로 사용시 소문자로 강제변환되기 때문에,
소문자 γ 를 쓸까하다가
대체문자 capital F, Fisher ideal index 를 사용하였습니다.

그런데, 단순히 변수문자로만 사용되는 것이 아니고, 코드 중간에 결합되어 쓰이는 부분도 있어서, 어떻게 해야 맞는 건지 감이 오지 않습니다.
ㄴ 다만, 이 코드는 Label test2 에 있는거라서 영향이 없는 건지도?
2. Δ 삼각형 심볼(increment or triangle)은 문자변수명에 사용할 수 없어서,
inc 라는 문자로 대체하였습니다.
3. TI-92에서는 대문자였던 변수는 그냥 소문자로 변하도록 자연스럽게 놔뒀습니다.
4. 그 외에는 최대한 원본과 동일한 모양을 유지하도록 하였습니다.
사용방법
1. tns 파일을 라이브러리에 넣고 ⇒ refresh 해줍니다.
※ 파일 다운로드는 본문 하단의 attatched file+ 에 있습니다.
2. fourier(함수,변수,결과형식타입) 으로 입력합니다.
3. 결과 형식 타입(모드)
├ 1 : 각속도 w 도메인. (exp(i*w) 형식이 cos(w)+i*sin(w)) 로 표시됩니다.
├ 2(추천) : 각속도 w 도메인. 복소수 기호 'i' 이, 알파벳 'i' 로 대신 표시됩니다. sin/cos 대신 지수형식으로 표시됩니다.
├ 3 : 주파수 f 도메인.
└ 4 : 주파수 f 도메인. 복소수 기호 'i' 이, 알파벳 'i' 로 대신 표시됩니다.
※ 일단 2로 해보고, 잘 안되거나, 맘에 안들면 1로 바꿔 보세요.

4. 특수 함수
- 유닛스텝함수 u() 는 알파벳 u 를 입력
- 델타함수는 카탈로그 - 특수문자 δ 를 입력
- signum() 은 알파벳으로 전체 입력
- 사각함수 rect(t/τ) 는 u(t+τ/2)-u(t-τ/2) 로 변환하여 입력 : 댓글 이미지 참고
※ 각각의 특수함수들은 문자로서 표시될 뿐, 함수로서 기능 하지는 않습니다.
댓글6
-
세상의모든계산기
예제2 : https://blog.naver.com/songsite123/222940646211
되는 것 (대충이라도 되는 것 포함)



-
1
세상의모든계산기
안되는 예제
- 절대값 입력시 변환 실패
- 변수(a, u 등)에 다른 값이 저장되어 있을 경우 오류 발생 가능. delvar 필요함.


-
세상의모든계산기
예제3 : https://www.fmkorea.com/2952857872

답변 : https://www.fmkorea.com/2953144342


-
1
세상의모든계산기
되는 것
* u 변수를 할당하면 fourier()에서 에러가 나기 때문에, 그래프로 그려서 확인하기 위해 h(x) 를 다시 정의하였습니다. (fourier 변환에 필수요소는 아닙니다)
* w를 w_로 바꾸면 위의 풀이 결과와 제일 비슷하게 정리되어서 대체하였습니다. 필요에 따라 바꾸셔도 되고, 안바꾸셔도 됩니다.
* 결과 모드를 1로 할지, 2로 하고 i=@i 로 바꿀지는 알아서 판단해 보시기를...


x=1 에서 y축 방향으로 0.5~1 사이에만 수직으로 직선이 표시되는데, 왜 표시되는지 모르겠습니다.
0~1 구간 전부 표시되면 더 좋겠지만, '아예 안보여도 할 말 없는데, 보이는 거니까" 이거라도 감지덕지겠지요.





-
1
세상의모든계산기
안되는 것
* 절대값이 들어가면 무한루프에 빠지는 것 같습니다.
* 절대값을 풀어서 두 구간으로 나눈 다음에 더하면 되겠죠? 아마도???



-
세상의모든계산기
ifourier
fourier() 만큼 복잡할 것으로 예상했는데,
예상과 달리 fouriersub() 를 활용해서 간단하게 처리하네요.

프로그램 설명 예제에는 (마지막 예시가) t 로 나와 있고, 결과가 sin(5t)/pi 로 되어 있지만, w로 바꿔야 에러가 나지 않고, 결과도 cos(5t)/pi 로 나옴.
세상의모든계산기 님의 최근 댓글
HP-39gII 에 ExistOS 설치하기 https://allcalc.org/38526 2025 11.07 1. 왜 검은색이 아닌 다른 색으로 보일까? (제공된 LUT 필터) 제가 제공해 드린 magenta_lens.cube LUT 필터는 540~560nm(녹색-노란색) 파장대의 색상을 '완전히 제거(검은색으로 만듦)'하는 대신, '다른 색상으로 왜곡/변환'하도록 설계되었습니다. * 원리: LUT(Look-Up Table)는 특정 입력 색상(Input RGB)을 미리 정해진 다른 출력 색상(Output RGB)으로 매핑하는 테이블입니다. 이 LUT는 540~560nm에 해당하는 RGB 값들이 들어오면, 검은색(0, 0, 0)이 아닌, 매우 어둡거나 채도가 낮은 특정 색(예: 어두운 올리브색, 갈색 등)으로 변환하라고 지시합니다. * 의도: * 현실적인 물리 필터 시뮬레이션: 실제 고가의 색약 보정 안경도 특정 파장을 100% 완벽하게 차단하지는 못합니다. 빛의 일부를 흡수하고 일부는 통과시키거나 변환하는데, 이 LUT는 그러한 현실 세계의 필터 효과를 더 비슷하게 흉내 냈을 수 있습니다. * 시각적 정보 유지: 특정 색을 완전히 검게 만들면 그 부분의 형태나 질감 정보가 완전히 사라집니다. 하지만 다른 어두운 색으로 대체하면, 색상 정보는 왜곡되더라도 밝기나 형태 정보는 어느 정도 유지되어 전체적인 이미지가 덜 어색하게 보일 수 있습니다. 결론적으로, 스펙트럼 그림에서 해당 대역의 색이 갑자기 '다른 색으로 툭 바뀌는' 현상은, LUT 필터가 "이 파장대의 색은 앞으로 이 색으로 표시해!"라고 강제적으로 지시한 결과이며, 이것이 바로 이 필터가 작동하는 방식 그 자체입니다. 2. 왜 'Color Vision Helper' 앱은 검은색으로 보일까? 비교하신 'Color Vision Helper' 앱은 노치 필터의 원리를 더 이상적(Ideal)이고 교과서적으로 구현했을 가능성이 높습니다. * 원리: "L-콘과 M-콘의 신호가 겹치는 540~560nm 파장의 빛은 '완전히 차단'되어야 한다"는 개념에 매우 충실한 방식입니다. * 구현: 따라서 해당 파장에 해당하는 색상 정보가 들어오면, 어떠한 타협도 없이 그냥 '검은색(RGB 0, 0, 0)'으로 처리해 버립니다. 이는 "이 파장의 빛은 존재하지 않는 것으로 처리하겠다"는 가장 강력하고 직접적인 표현입니다. 2025 11.06 적용사례 4 - 파장 스펙트럼 https://news.samsungdisplay.com/26683 ㄴ (좌) 연속되는 그라데이션 ➡️ (우) 540 이하 | 구분되는 층(색) | 560 이상 - 겹치는 부분, 즉 540~560 nm 에서 색상이 차단? 변형? 된 것을 확인할 수 있음. 그럼 폰에서 Color Vision Helper 앱으로 보면? ㄴ 540~560 nm 대역이 검은 띠로 표시됨. 완전 차단됨을 의미 2025 11.05 빨간 셀로판지로도 이시하라 테스트 같은 숫자 구분에서는 유사한 효과를 낼 수 있다고 합니다. 색상이 다양하다면 빨강이나, 노랑, 주황 등도 테스트해보면 재밌겠네요. 2025 11.05 안드로이드 앱 - "Color Vision Helper" 다운받아 본문 내용을 카메라로 찍어 보니, 본문 프로그램에서는 애매하게 보이던 부분에서도 구분이 완전 확실하게 되네요. 숫자 구분 능력 & 편의성 면에서 압도적이라고 할 수 있겠습니다. 2025 11.05