2016-07-06 4 views
0

나는 (매우) 긴 신호를 벡터 형태로 가지고 있으며, 나는 그 벡터에 비선형 주파수 응답을 적용하고 싶다. 신호가 길게되기 때문에, 전체 신호에 대해 FFT를 실행하는 것은 계산적으로 복잡하고 불가능한 것을비선형 주파수 응답

v=rand(1000000,1); 
nonlinFreqResponse = @(f,v) sqrt(v).*1/f; 
V=wfft(v); %windowed FFt, cant do FFT on the entire signal 
....? 

참고 : 예를 들어.

+0

여기에 도움을 요청하는 내용이 확실하지 않습니다. Matlab에는 몇 가지 내장 윈도우 함수가 있습니다. 또는 필터를 직접 사용할 수 있으며 Matlab의 다양한 필터 기능을 사용할 수 있습니다. – TTT

+0

주파수와 게인에 종속적 인 창 함수를 사용하고 싶습니다. – Mercury

+0

주파수 도메인에서 창을 작성한 다음 시간 도메인으로 fft 할 필요가 있다고 생각한 다음 신호와 함께 컨볼 루션을 수행해야합니다. – TTT

답변

0

나는 최선의 해결책은 평소와 같이 FFT를 적용하는 것이라고 생각합니다. 그런 다음 보정 계수 또는 전달 함수를 이득에 따라 벡터에 적용합니다. 나는 당신의 코드로 무슨 일이 일어나고 있는지 모르겠다. 그래서 당신을 도울 수 없다. 행운을 빕니다!