새로운 주파수 분석기법 - 공명변환

kkb110의 이미지

제 연구가 첫 결실을 맺었습니다 ㅋㅋ
주파수분석방법에는 보통 퓨리에변환, 웨이브렛변환을 사용해왔는데
그것과 다른 주파수 변환기법입니다.
어제 첫 구현버젼을 완성해서 몇가지 곡을 변환해봤는데 아주 만족스럽네요! ㅋㅋ

지금 올리는 자료는 퓨리에 변환과 이번에만든 공명 변환으로"엘리제를 위하여" 앞부분 6초간 분석한 것하고 관련 논문만든답시고 시작했다가 죽도밥도 안된 문서입니다 -_-;;

관련문서링크
http://user.chol.com/~kkb110/RT.pdf

File attachments: 
첨부파일 크기
Image icon ftej.JPG109.45 KB
Image icon rt.jpg311.3 KB
Audio icon track8.mp395.82 KB
Image icon track8.jpg183.76 KB
jachin의 이미지

대충 훑어보기만 했는데도, 정말 참신하군요. :)

퓨리에와 다른 형태의 주파수 변환이라. 전파와도 연계된다면 재밌는 결과를 얻을 수 있을것 같아요.[/b]

puzzlet의 이미지

발발다빠따반반나다발딸발발다빠따따맣발발다뿌
멓터벅더떠벋떠벌더벌벌떠벌떠더법벍떠더벌벌떠

lifthrasiir의 이미지

아하, 바로 이런 것이군요! Resonance Transform이라 괜찮은 생각인 듯 :) 그런데 예전에 이런 형태의 아이디어가 있었는 지 확인해 보셨나요?

- 토끼군

kkb110의 이미지

puzzlet wrote:
http://bbs.kldp.org/viewtopic.php?t=51486
이거군요.

위에것하고는 다른거구요. 알고보니 제가 생각해냈던게 Real-FFT였습니다.
이미 논문도 있고 구현체도 많더군요..
연산량도 Complex-FFT에 딱 반이구요.. -_-;

tokigun wrote:

아하, 바로 이런 것이군요! Resonance Transform이라 괜찮은 생각인 듯 :) 그런데 예전에 이런 형태의 아이디어가 있었는 지 확인해 보셨나요?

저도 비슷한게 있을지도 몰라서 Frequency Analysis관련해서 뒤져봤는데
온통 Fourier하고 Wavelet이야기밖에 찾질 못했습니다 -_-;
모르겠네요. 내용자체는 누구나 생각해낼 수 있는 것이긴 한데
제 검색능력 범위내에선 비슷한게 아직 발견되지 않았습니다.

eddy_woody의 이미지

웨이브렛에서 위상 문제는 complex 웨이브렛을 쓰면 해결되지 않나요? 저도 잘은 모르지만....^^;

근데, kkb110님의 방법은
주파수 성분을 알고 있는 자극 F를 주고나서 반응 A를 통해
시스템의 특성을 알아내겠다는 건가요,
아니면 자극 F의 주파수를 계산한다는 건가요?

전자라면 푸리에나 웨이브렛 분석과는 성격이 좀 다른 것 같고,
후자라면 미리 자극 F의 주파수 성분을 모르면 가능하지 않을 것 같구요...

제발 이해 좀 시켜 주세요...*^^*

> It can take much longer than necessary to get rid of a problem professor...

I'm thinking duct tape and a trunk.

kkb110의 이미지

헛 complex웨이브렛이 있었군요 -_-;
어쩌지 이미 내버렸는데 ㅡ,.ㅡ.....

뭐아무튼 -_-;
설명드리자면요..

외부에서 대상으로 영향을 주는 신호를 S(t)라고 하면..
그러니까 주파수를 분석할 신호가 S(t) 인거죠.

여기서 소리를 예로 들면
귀의 세포 하나하나에 신호 S(t)가 가해지면서
귀세포들이 진동을 하겠지요.
그런데 어떤 귀세포가 440Hz의 고유 진동수를 가지고 있다면
440Hz의 신호에는 아주 크게 진동하는데.. 그외의 주파수에는
거의 반응을 하지 않습니다.

그러니까 제가 한것은..
귀 세포가 외부 신호에 따라서 진동하는 식을 세우고
그것을 컴퓨터로 계산을 한 것이지요.

bus710의 이미지

흥!

역시 재능이 있는 사람을 보면 질투가 난다니까요^^

축하 드립니다.

(제가 한층 더 공업수학을 기피하게 만들도록)

좋은 결과를 통해 인정 받으실 수 있으시면 좋겠습니다 :D

life is only one time

kkb110의 이미지

감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

icanfly의 이미지

kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

고..고등학생이십니까?

고등학생께서.푸리에, 웨이브렛을 논하시다니 대단하십니다.

아.난 그때 뭐하고 있었더라... :oops:

앙마의 이미지

kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

헉... 쓰읍 역시 다시 한강에 가야 하는걸까요?

autography

인간에게는 자신의 운명을 거부할 권리가 있다.

khris의 이미지

앙마 wrote:
kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

헉... 쓰읍 역시 다시 한강에 가야 하는걸까요?


한강물따위에 빠지기엔 우리 자신이 좀 아깝지 않나요?

───────────────────────
yaourt -S gothick elegant
khris'log

kkb110의 이미지

하하 앙마님 그럼 저도 데려가주셔야 합니다 ㅡ,.ㅡ;
세상에나!!

Quote:
2005-05-07 오후 4:16:04
kkb110 -> cppig1995 너혹시
kkb110 -> cppig1995 퓨리에 변환이라고 아나?
cppig1995 -> kkb110 ㅇㅇ...
cppig1995 -> kkb110 잠깐...(전화)
cppig1995 -> kkb110 DFT, FFT....
kkb110 -> cppig1995 나도전화
kkb110 -> cppig1995 -_-;
cppig1995 -> kkb110 무시무시한 지렁이를 만난곳!
cppig1995 -> kkb110 (적분기호)-_=
cppig1995 -> kkb110 시간을 변수로 하는 함수 f (t )와 F (w ) <그리스문자 입력이 귀찮군>가 있었지
cppig1995 -> kkb110 w는 정확히 그리스문자 ω
cppig1995 -> kkb110 F( w)는 주파수가 변수...
cppig1995 -> kkb110 상호 변환식 (그림)도 있는데...
cppig1995 -> kkb110 "하나의 신호가 무한한 정현파들의 합으로 표현될 수 있다" - 퓨리에정리
cppig1995 -> kkb110 시간영역과 주파수영역의 신호를 상호변환할 수 있는...
cppig1995 -> kkb110 퓨리에 시리즈 (Fourier Series)에 대해서도 아는게있고,,,
앙마의 이미지

khris wrote:
앙마 wrote:
kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

헉... 쓰읍 역시 다시 한강에 가야 하는걸까요?

한강물따위에 빠지기엔 우리 자신이 좀 아깝지 않나요?

강바람 좀 쐬며 자신을 추스린 후 놀다가 돌아올건데요? 개인적으로 물에 들어가는 걸 싫어해요. :twisted:

autography

인간에게는 자신의 운명을 거부할 권리가 있다.

SednA의 이미지

축하한다 ;)

어제 변환해준다는 파일은 어떻게 됐는지..- _;

Always Welcome

tinywolf의 이미지

icanfly wrote:
kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

고..고등학생이십니까?

고등학생께서.푸리에, 웨이브렛을 논하시다니 대단하십니다.

아.난 그때 뭐하고 있었더라... :oops:

전 자고 있었습니다.. OTL

ㅡ_ㅡ;

khris의 이미지

kkb110 wrote:
하하 앙마님 그럼 저도 데려가주셔야 합니다 ㅡ,.ㅡ;
세상에나!!

Quote:
2005-05-07 오후 4:16:04
kkb110 -> cppig1995 너혹시
kkb110 -> cppig1995 퓨리에 변환이라고 아나?
cppig1995 -> kkb110 ㅇㅇ...
cppig1995 -> kkb110 잠깐...(전화)
cppig1995 -> kkb110 DFT, FFT....
kkb110 -> cppig1995 나도전화
kkb110 -> cppig1995 -_-;
cppig1995 -> kkb110 무시무시한 지렁이를 만난곳!
cppig1995 -> kkb110 (적분기호)-_=
cppig1995 -> kkb110 시간을 변수로 하는 함수 f (t )와 F (w ) <그리스문자 입력이 귀찮군>가 있었지
cppig1995 -> kkb110 w는 정확히 그리스문자 ω
cppig1995 -> kkb110 F( w)는 주파수가 변수...
cppig1995 -> kkb110 상호 변환식 (그림)도 있는데...
cppig1995 -> kkb110 "하나의 신호가 무한한 정현파들의 합으로 표현될 수 있다" - 퓨리에정리
cppig1995 -> kkb110 시간영역과 주파수영역의 신호를 상호변환할 수 있는...
cppig1995 -> kkb110 퓨리에 시리즈 (Fourier Series)에 대해서도 아는게있고,,,

천재들끼린 통하는게 있군요 세상에나 :twisted:

───────────────────────
yaourt -S gothick elegant
khris'log

kkb110의 이미지

SednA wrote:
축하한다 ;)
어제 변환해준다는 파일은 어떻게 됐는지..- _;

누나가 준 압축파일 저장안하고 알집으로 열어서 듣고있다가
저장할라고 하니까 컴퓨터가 다운되부려서 ㅡ,.ㅡ;; 미안 다시줘 -_-;;;
lifthrasiir의 이미지

kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

사실 저도 고등학교 말에 소리 분석에 관련해서 좀 괴악한 프로젝트를 진행하였으나 제 게으름으로 포기했습니다. -,.- 그나저나 어느 대학이길래...

- 토끼군

galien의 이미지

HaHaHa

Ha

Ha Ha

Ha

ha

:cry:

Prentice의 이미지

http://www.hydrogenaudio.org/forums/index.php?showtopic=36251

Hydrogenaudio에 번역을 올려봤습니다. 피드백이 돌아오고 있네요. :)

hb_kim의 이미지

laplace transform 과 뭐가 틀린것인지 고민하며 보다가 몇몇 부분에서 매끄럽게 넘어가지 못해서 포기...

eddy_woody의 이미지

kkb110 wrote:

외부에서 대상으로 영향을 주는 신호를 S(t)라고 하면..
그러니까 주파수를 분석할 신호가 S(t) 인거죠.

여기서 소리를 예로 들면
귀의 세포 하나하나에 신호 S(t)가 가해지면서
귀세포들이 진동을 하겠지요.
그런데 어떤 귀세포가 440Hz의 고유 진동수를 가지고 있다면
440Hz의 신호에는 아주 크게 진동하는데.. 그외의 주파수에는
거의 반응을 하지 않습니다.

그러니까 제가 한것은..
귀 세포가 외부 신호에 따라서 진동하는 식을 세우고
그것을 컴퓨터로 계산을 한 것이지요.

고등학생이시라니 제 과거를 되돌아 볼 때 그저 감탄할 따름입니다. *.*

그런데, 보여주신 '엘리제를 위하여'분석 그림에서 가로축은 시간일테고,
세로축은 뭔가요? 고유 진동수별 반응의 진폭인가요?
그러니까 일종의 지진계 같은 거네요...^^;

분해능이 좋다고 하셨는데, 고유 진동수 축의 간격도 궁금하네요.
진동자를 이용하면 분해능이 그렇게 좋을 수 없을 거라고만
생각하고 있었거든요.

한편으로, 푸리에 변환이나 웨이브렛 변환 같은
일반적인 분석 방법에 비하면
자극 신호에 대한 제약 조건이 문제가 되지 않겠나 하는 생각도 조심스레 해 봅니다.
귀세포들이 갖는 고유 진동수 범위 내에서, 그리고 사람이 들을 수 있는 세기의 신호에 대해서만 적용하시겠다면 괜찮겠지만요.

시간 나시면 time-frequency analysis를
공부해 보시는 것도 도움이 되지 않을까 합니다.
지적하신 푸리에 변환의 한계를 극복하기 위한 여러가지 시도가 있었습니다.
뭐 웨이브렛까지 공부하셨으면 이미 대략이라도 알고 계시겠지만요... ^^;

> It can take much longer than necessary to get rid of a problem professor...

I'm thinking duct tape and a trunk.

kkb110의 이미지

To 토끼군님
토끼군님의 후배가 되고싶습니다 :twisted:

To 검은해님
손수 번역도 다 해주시고 감사합니다 ㅎㅎ

To hb kim님
하하 사실 저거 엉터리논문입니다 ㅋㅋ 가장 중요한걸 못써놨어요
이산 공명변환 장에도 보면 근사하는법만 나와있지 진짜로 계산하는방법은 나와있지 않죠 -_-; 제가 모르는걸 그냥 응근슬쩍 넘어간거에요 -_-;;;;;

논문을 무리해서 썼죠. 수시모집에 응시해야하기때문에 -_-;;
거의 5일밤낮을 새고 수시모집 10분전까지 편집하다가 냈습니다 -_-;;;
사실 구현체 코딩시작도 사실 5일전부터 시작한거고 완전 미쳤었죠 5일동안 ㅡ,.ㅡ
내고나서 틀린부분 수정한곳만 지금까지 3곳이라 한숨이 나오긴 하지만 ㅡ,.ㅡ;;

아무튼.. 이자리를 빌어서 공개적으로 질문좀 해야겠습니다. -_-;

미분방정식
m * x''(t) + gamma * x'(t) + k * x(t) = F(t)
의 x(t) 일반해가 어떻게 되지요?

m * x''(t) + gamma * x'(t) + k * x(t) = 0 을 풀면
x(t) = A0 * e^(-gamma*t/2m) * cos(sqrt(k/m - (gamma/2m)^2) * t + phi)
란건 알겠는데
저 위에 F(t)가 들어가면 F(t)를 넣어 일반식으로 어떻게 풀어야할지 모르겠네요;;

To eddy_woody
뭐.. 세로축 그거 맞습니다. 그냥 퓨리에변환 보듯이 보시면 되요 ^^
보시면 아시겠지만.. 엘리제를 위하여 앞부분 멜로디 아시죠?
악보음표처럼 중간에 찍혀져있는게 보이실겁니다.
위에껀 배음이니까 신경 안쓰셔도 되구요.
분해능은... 설정하기 나름입니다. 공명하는 unit을 많이만들면 그만큼 높아지는거구요.
저 위에 엘리제를 위하여는 공명unit을 960개 썼습니다. y축도 960픽셀이지요.
대충 보니까 한 옥타브당(20hz~40hz 라든지 440hz~880hz.. 두배 hz)
120개 unit이면 충분하더라구요. 10~20000hz까지 분석하자면 약 1400개면 되죠.
하지만 fourier 1024나 2048사이즈로는 어림도 없습니다.
제껀 Log스케일로 설정할 수 있고 fourier는 선형적이기 때문에.
공명변환의 저주파음 분해능을 fourier가 따라가려면
더천문학적인 사이즈가 필요해요.. 물론 고주파는 필요이상으로 분해하겠죠.
그리고 곡들을 분석해본결과 fourier보다 훨씬 나았으면 나았지 못하지는 않더라구요.. 엘리제를위하여는 간단해서 큰차이는 없어보이지만..
wavelet과도 비교해야되는데 툴도 없고 흠.. 직접 코딩해야되나?
wavelet과의 비교는 저도 상당히 궁금합니다 현제..

그리고 자극신호에 대한 제약 조건이 있을거 같다 그러셨는데 맞습니다.
안해봐서 모르겠지만 아마 영상같은것에는 적용가치가 없을 듯 합니다.
그래서 논문제목에 for sound analysis라고 했고
remarks에서 데이터의 한쪽 축이 시간이여야 한다고 언급해 둔것입니다 ^^;
그리고 제가 이걸 만든이유도 가지고있는 연주하고싶은 피아노곡 mp3들이 있는데
직접 들으면서 연주하고싶어도 음감이 없어서리 ㅡ,.ㅡ;;
그래서 피아노곡에서 midi악보파일로 만드는 프로그램 만들려고 개발한겁니다.

비교파일 하나 더 청부합니다. 곡은 명작 영화 "나인틴 헌드레드의 전설"에서
엔리오 몬리꼬네곡인 "Enduring Movement" 앞부분 3초입니다.
스펙트럼에서 배음을 제하시고 보시면 음표 하나하나를 볼 수 있습니다.

참.. 오른쪽 퓨리에 변환 그림은 프로그램에서 Log스케일로 표시해주는 기능이 있어서 Log스케일로 맞춘 것입니다.
보시다시피 저주파음의 분해능이 떨어지죠.

댓글 첨부 파일: 
첨부파일 크기
Audio icon 0바이트
Image icon 0바이트
hb_kim의 이미지

구글로 "2nd order differential equation" 를 찾아서 나온것중 가장 그럴싸해보이는게 이건데요.

http://theoserv.phy.umist.ac.uk/~brandes/math02/chapter2.pdf

답만 먼저 가르쳐드리면 일반해는 없다 일것입니다. 몇가지 입력에 대해서만 풀어놨죠. 그런데 고등학생이 이런것을 좋아하다니 나중에 공학수학 선생님한테 사랑받겠어요... 아니면 미리 공학수학과 data compression, 신호처리 등을 공부하시던지.

hb_kim의 이미지

아... 변환축이 log(주파수) 군요...

링크된 논문도 언젠가는 내용 추가/정리해서 업데이트하실거죠? 주위에 아는 석졸 이상 되시는 분 있으면 좀 봐달라고 하세요.

kkb110의 이미지

아네.. 그래야죠! 추가/정리 정도가 아니라 아마 새로써야 할 거 같습니다
너무 엉터리라.. 원랜 지금 안나왔어야 되는건데 수시용으로 급조해버리게 된거죠.
논문내용엔 퓨리에변환/웨이브렛 변환 비교도 일절 없고...
정작 가장 중요한 부분은 모른다는 이유로 응근슬쩍 근사하는 방법만 남겨두고.

아그런데 정말 저 식이 일반해가 없나봐요 이런...

eddy_woody의 이미지

kkb110 wrote:

아무튼.. 이자리를 빌어서 공개적으로 질문좀 해야겠습니다. -_-;

미분방정식
m * x''(t) + gamma * x'(t) + k * x(t) = F(t)
의 x(t) 일반해가 어떻게 되지요?

m * x''(t) + gamma * x'(t) + k * x(t) = 0 을 풀면
x(t) = A0 * e^(-gamma*t/2m) * cos(sqrt(k/m - (gamma/2m)^2) * t + phi)
란건 알겠는데
저 위에 F(t)가 들어가면 F(t)를 넣어 일반식으로 어떻게 풀어야할지 모르겠네요;;


hb_kim님이 링크하신 문서에 나와 있는 것 처럼 일반해는 그린 함수(Green's function)을 구한 다음 그린 함수와 신호를 convolution해서 구합니다. 자세한 건 책에서... ^^;

kkb110 wrote:

To eddy_woody
뭐.. 세로축 그거 맞습니다. 그냥 퓨리에변환 보듯이 보시면 되요 ^^
보시면 아시겠지만.. 엘리제를 위하여 앞부분 멜로디 아시죠?
악보음표처럼 중간에 찍혀져있는게 보이실겁니다.
위에껀 배음이니까 신경 안쓰셔도 되구요.
분해능은... 설정하기 나름입니다. 공명하는 unit을 많이만들면 그만큼 높아지는거구요.
저 위에 엘리제를 위하여는 공명unit을 960개 썼습니다. y축도 960픽셀이지요.
대충 보니까 한 옥타브당(20hz~40hz 라든지 440hz~880hz.. 두배 hz)
120개 unit이면 충분하더라구요. 10~20000hz까지 분석하자면 약 1400개면 되죠.
하지만 fourier 1024나 2048사이즈로는 어림도 없습니다.
제껀 Log스케일로 설정할 수 있고 fourier는 선형적이기 때문에.
공명변환의 저주파음 분해능을 fourier가 따라가려면
더천문학적인 사이즈가 필요해요.. 물론 고주파는 필요이상으로 분해하겠죠.
그리고 곡들을 분석해본결과 fourier보다 훨씬 나았으면 나았지 못하지는 않더라구요.. 엘리제를위하여는 간단해서 큰차이는 없어보이지만..
wavelet과도 비교해야되는데 툴도 없고 흠.. 직접 코딩해야되나?
wavelet과의 비교는 저도 상당히 궁금합니다 현제..

일단 이론적 분해능은 sampling rate에 좌우 될테고, 이것은 공명 변환의 경우에도 마찬가지일 것 같네요. 혹시 제가 착각하는 것이라면 고쳐 주세요.

계산량이 공명 변환의 경우 대략 N*(unit의 개수)가 되나요? FFT는 N*log(N)이죠.... 흠..
같은 양의 계산을 한다고 할 때 공명 변환의 분해능이 꼭 좋은 건 아닌 것 같다는 생각이.... 절때 딴지 걸려는 건 아니구요, 얼핏 드는 생각이지만 아이디어를 다듬는데 도움이 되지 않을까 해서 하는 얘깁니다.... *^^*

어쨌거나 불연속적인 신호도 자연스럽게 처리할 수 있다는 장점이 빼어나네요.

> It can take much longer than necessary to get rid of a problem professor...

I'm thinking duct tape and a trunk.

Prentice의 이미지

그냥 달팽이관 모형을 단순화 시킨 것이 아니냐, 혹은 state-variable IIR resonant filters를 모아놓은 것이 아니냐, 이런 얘기가 나오고 있는 것 같습니다.

그렇지만 흥미롭다고 하네요. :>

tinywolf의 이미지

아마 합격.. 8)

ㅡ_ㅡ;

kjd2338의 이미지

tinywolf wrote:
icanfly wrote:
kkb110 wrote:
감사합니다 ㅋㅋ
대학 수시모집에 기타 우수성입증자료로 냈는데..
모르겠어요 내신이 너무 안좋아서 ㅡ,.ㅡ;;

고..고등학생이십니까?

고등학생께서.푸리에, 웨이브렛을 논하시다니 대단하십니다.

아.난 그때 뭐하고 있었더라... :oops:

전 자고 있었습니다.. OTL

전 놀다가 재수하면서 문과로 변절해서 간신히 동국대에... :shock:

(개인적으로 저런 사람들만 보면 울고싶어짐...... :( )

인생은 삽질에서 시작해서, 삽질로 끝난다...

정태영의 이미지

kkb110 wrote:
그리고 주파수의 진동수는 항상 상대적인 의미를 가진다는 점에서 주파수 스펙트럼은 우리 귀와 같이 Log 스케일로 감지해내는 것이 바람직하나 Fourier 변환은 한 번의 변환으로 감지해내는 주파수들의 관계가 선형적이다.

축을 Log scale 로 사용하면 해결되는 문제 아니던가요 ... 실제로도 log scale 로 사용합니다 (db 자체가 로그스케일이죠)

그나저나 고등학교 때 FT 같은 것도 배우나보군요;; (FT 자체만으론 별다른 흥미를 못가졌던 기억이 나는군요... 통신이론(A.M, F.M 등등 ) 하고 합쳐지면서 나름 관심을 가지긴 했었지만;; )

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

lifthrasiir의 이미지

정태영 wrote:
그나저나 고등학교 때 FT 같은 것도 배우나보군요;; (FT 자체만으론 별다른 흥미를 못가졌던 기억이 나는군요... 통신이론(A.M, F.M 등등 ) 하고 합쳐지면서 나름 관심을 가지긴 했었지만;; )

설~마요. O_o 과학고에서도 관심 있는 사람만 자료 찾아서 보기만 합니다.

kkb110 wrote:
To 토끼군님
토끼군님의 후배가 되고싶습니다 :twisted:

이해했습니다. ;;;;

tinywolf wrote:
전 자고 있었습니다.. OTL

저도 고등학교 때 많이 잤습니다... OTL

- 토끼군

kkb110의 이미지

To eddy_woody
좋은 의견 감사합니다 ^^ 딴지라고 절대 생각하지 않습니다.

이론적 분해능은 Sample rate에 좌우될 것 같다고 하셨는데 이게 좀 미묘합니다.
저도 처음에는 그렇게 잠시 생각이 들었었는데요 그런데
초당 40960샘플짜리 1초분량간의 사운드를 40960사이즈 퓨리에로 분석한것이나
초당 81920샘플짜리 1초분량간의 사운드를 81920사이즈 퓨리에로 분석한것이나
20480hz까지의 주파수를 분석한 데이터는 거의 같습니다. 공명변환도 마찬가지 입니다.
마치 우리 귀가 초당40960샘플짜리 wave를 듣건 81920샘플짜리 wave를 듣건 별로 큰차이가 없는 것과 마찬가지 입니다.
공명변환에서 분해능은 time-frequency trade-off 요소인 초당 진폭 감쇠율이 결정합니다.(우리 귀는 이것에 대한 특정 값이 있겠죠.)
이것에 따라서 주파수 분해능이 올라가거나 시간분해능이 올라가죠.
제가 높은 분해능을 제공한다는것은 이 두개의 trade-off를 감안했을 시에도
적절한 값을 설정하면 양쪽 다 충분한 분해능을 얻을 수 있다는 소리였습니다.
뭐. 퓨리에 변환과의 분해능 비교는 위쪽에 올려놨으니까 된 것 같구요.

그리고 공명변환은 연산량은 완전 배제하고 최대한 정확한 주파수를 측정하는것에 초점을 맞추긴 했습니다만.
DRT와 FFT를 비교하시다니 :twisted: DRT는 DFT랑 비교해주세요 ㅋㅋ
앞으로 나와야 할 FRT가 어느정도 연산량을 가질 지는 모르겠습니다.
아직 이쪽보다 다른쪽으로 골몰해야 할 일이 더 많지만...
FRT의 구조도 어느정도 거의 머릿속으로 정리가 되 있습니다. 간단하게 말씀드리자면
웨이블렛 다해상도 변환같이 낮은 주파수로 갈수록 셈플들을 건너뛰고 계산하는겁니다.

To 정태영님
아 처음에 주파수스케일을 말씀하시는 건줄 알았는데 db말씀하시는것 보니
세기에 대해서 말씀하시는 것 같군요.. db 데시벨 맞죠?
이쪽에대해선 말씀하신 것처럼 물론 퓨리에 변환도 문제가 안되겠죠.
제가 말하고자 했던 것은 주파수 스케일입니다.
20~20000hz까지 10옥타브나 되서 문제가 되죠.
공명변환에서 한옥타브당 120개 유닛을 사용하고 20hz부터 시작하고 20000hz까지 분석한다면
20hz다음의 유닛이 20.116hz정도이고 총 1200개 유닛이 필요한데
퓨리에변환 한번 적용으로 20hz근처에서 0.116hz간격을 가지려면
20000/0.116 = 172413 사이즈나 필요하죠...
반면 2번째옥타브는 2배 과다분해 3번째옥타브는 4배 과다분해.. 10번째옥타브는 약 1000배 과다분해..
게다가 사이즈가 시간분해능에 종속되어 있어서 시간분해능도 엄청 떨어져버립니다.

tokigun wrote:
tinywolf wrote:
전 자고 있었습니다.. OTL

저도 고등학교 때 많이 잤습니다... OTL
- 토끼군

제가 학교에서 별명이 유체이탈 입니다 -_-;
선생님이 제가 자는것을 지적하면 친구들이 유체이탈중이라고 건들지 말라고 알려주죠 -_-;
GjtRoql의 이미지

MP3 player 만든답시고 주파수 분석쪽 아주 조금 봤는데 제가 넘볼 영역이 아니더군요! ^^
대단하십니다.

--------------
Burning Blue!
--------------

정태영의 이미지

kkb110 wrote:
이론적 분해능은 Sample rate에 좌우될 것 같다고 하셨는데 이게 좀 미묘합니다.
저도 처음에는 그렇게 잠시 생각이 들었었는데요 그런데
초당 40960샘플짜리 1초분량간의 사운드를 40960사이즈 퓨리에로 분석한것이나
초당 81920샘플짜리 1초분량간의 사운드를 81920사이즈 퓨리에로 분석한것이나
20480hz까지의 주파수를 분석한 데이터는 거의 같습니다. 공명변환도 마찬가지 입니다.
마치 우리 귀가 초당40960샘플짜리 wave를 듣건 81920샘플짜리 wave를 듣건 별로 큰차이가 없는 것과 마찬가지 입니다.

흠 sampling rate 는 nyquist rate 이상만 지켜준다면 원래 신호를 복원할 수 있습니다... sampling rate 가 높아질 수록... edge 가 확실해 지긴 합니다만... 신호에 따라서 분석된 결과는 달라집니다...

single tone sin wave의 경우 analog F.T 를 통과하면 델타 펑션하나가 딸랑 나오지만... DFT를 하게 되면... 델타 펑션이 아니라 어느정도 완만하게 올라가고 완만하게 내려오는 결과를 얻을 수 있습니다... 샘플의 양이 많아질 수록 그 기울기는 급격해지구요...

어떤 특정한 데이타 만을 가지고 우수하다라고 말할 수 없다는 얘기를 하고 싶었습니다 :)

다 쓰고 나서 보니까 20hz~20khz 사이의 신호를 가지고 얘기 하시는거보니 가청 주파수에서의 분석을 하실려고 그러셨나보군요... 시디에서 44.1khz 정도의 샘플링레이트를 사용하고 있다는 것은 44.1khz 정도면 가청주파수 분석엔 충분히 크다는 것입니다... 그 값보다 더 큰 값과 비교한다고 해서 가청주파수에서의 결과가 더 훌륭해지지는 않겠죠 ;)

kkb110 wrote:

To 정태영님
아 처음에 주파수스케일을 말씀하시는 건줄 알았는데 db말씀하시는것 보니
세기에 대해서 말씀하시는 것 같군요.. db 데시벨 맞죠?
이쪽에대해선 말씀하신 것처럼 물론 퓨리에 변환도 문제가 안되겠죠.
제가 말하고자 했던 것은 주파수 스케일입니다.
20~20000hz까지 10옥타브나 되서 문제가 되죠.
공명변환에서 한옥타브당 120개 유닛을 사용하고 20hz부터 시작하고 20000hz까지 분석한다면
20hz다음의 유닛이 20.116hz정도이고 총 1200개 유닛이 필요한데
퓨리에변환 한번 적용으로 20hz근처에서 0.116hz간격을 가지려면
20000/0.116 = 172413 사이즈나 필요하죠...
반면 2번째옥타브는 2배 과다분해 3번째옥타브는 4배 과다분해.. 10번째옥타브는 약 1000배 과다분해..
게다가 사이즈가 시간분해능에 종속되어 있어서 시간분해능도 엄청 떨어져버립니다.

아 결과를 분석할때 그냥 로그스케일로 분석하면 된다는 얘기였습니다... 아예 첨부터 로그스케일로 계산을 하는 걸 구상하셨나보군요...

하지만 Discrete 에서 얘기를 하는 거라면... 위의 계산은 틀렸습니다... FFT 를 통해 Discrete Fourier Transform 의 계산량은 로그스케일로 작아집니다... 역변환도 마찬가지구요... :)

p.s) 관련해서 전부 영어로 배워서 한글 용어가 정확히 뭔지 헷갈리는군요 ㅠ_ㅠ

p.s) 아 그리고 음악파일을 가지고 F.T 등을 하고 놀 때는 cooledit 라던가 adobe audition 등을 이용하면 상당히 유용합니다... (둘 이 같은 제품입니다 어도비에 팔렸죠)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

kkb110의 이미지

정태영 wrote:

흠 sampling rate 는 nyquist rate 이상만 지켜준다면 원래 신호를 복원할 수 있습니다... sampling rate 가 높아질 수록... edge 가 확실해 지긴 합니다만... 신호에 따라서 분석된 결과는 달라집니다...

아 제말은 그래서 어느 일정량의 SampleRate만 넘어서면
특정 주파수대에서는 별 차이가 없다 라는 소리였습니다 ^^;

정태영 wrote:

아 결과를 분석할때 그냥 로그스케일로 분석하면 된다는 얘기였습니다... 아예 첨부터 로그스케일로 계산을 하는 걸 구상하셨나보군요...
하지만 Discrete 에서 얘기를 하는 거라면... 위의 계산은 틀렸습니다... FFT 를 통해 Discrete Fourier Transform 의 계산량은 로그스케일로 작아집니다... 역변환도 마찬가지구요... :)

아 네 근데 저예기는 계산량 이야기와는 관계 없고 한번의 변환으로 얻어지는 주파수들의 관계에 대해서 이야기 한 것입니다 ^^;

그리고 또한가지는 로그스케일로 분석하면 되는데
(위 제가 제시한 퓨리에 변환 그림도 로그스케일로 변환한 것입니다.)
그렇게되면 저주파음의 분해능이 현저히 떨어지고
저주파음의 분해능을 높이기위해 사이즈를 늘리면 시간분해능이 안좋아지고 뭐 그렇단 소리였습니다.

그리고 중요한 차이점은
퓨리에 변환은 결과주파수의 간격이 사이즈에 종속적이지만
공명변환은 그렇지 않다는 것이죠.
1024개의 데이터를 2048사이즈 FFT를 적용할 수 없지만
공명변환은 제한된 사이즈의 데이터로도 공명unit갯수에 따라서
얼마든지 작은 원하는 간격으로 조절 할 수 있습니다.

+추가

hb_kim wrote:
구글로 "2nd order differential equation" 를 찾아서 나온것중 가장 그럴싸해보이는게 이건데요.
http://theoserv.phy.umist.ac.uk/~brandes/math02/chapter2.pdf

eddy_woody wrote:

hb_kim님이 링크하신 문서에 나와 있는 것 처럼 일반해는 그린 함수(Green's function)을 구한 다음 그린 함수와 신호를 convolution해서 구합니다. 자세한 건 책에서... ^^;

아 문서 거의 마지막 부분에 잘 설명되어 있네요 두분 감사합니다 ^^
sliver의 이미지

kkb110 wrote:
그리고 제가 이걸 만든이유도 가지고있는 연주하고싶은 피아노곡 mp3들이 있는데
직접 들으면서 연주하고싶어도 음감이 없어서리 ㅡ,.ㅡ;;
그래서 피아노곡에서 midi악보파일로 만드는 프로그램 만들려고 개발한겁니다.

매우 흥미롭네요. 꼭 완성해 주세요.
그나저나 고등학생이 혼자 이런것을 생각해 낸다니 참 대단하네요 :shock:
hjeeha의 이미지

조금만 버티고 살다보면 이 사람들에 의해 국민소득이 왕창 늘어서 편히 살 수 있을 것 같군요.