一個Sincs總和的過濾器我想實現一個過濾器,看起來像實現在Matlab
在Matlab。我有:
omegas = (-length(t)/2:length(t)/2)*2*pi/tau/10;
SOS_freq_sum = zeros(1,length(omegas));
for i = 1:length(K_set)
k = K_set(i);
SOS_freq_sum = SOS_freq_sum + b_k(i)*sinc(omegas/(2*pi/tau)-k);
end
SOS_filter_in_frequency = (tau/sqrt(2*pi))*((SOS_freq_sum)');
如何使用這個篩選我的數據? Matlab的濾波函數爲傳遞函數定義分子和denom係數,但不是SOS形式。有沒有辦法做到這一點,而不需要將輸入信號轉換到頻域?
非常感謝
是的,除了將您的數據轉換到頻域外,沒有看到任何其他方式。另一種可能性是採用濾波器的**反**快速傅里葉變換,使其處於時域,然後用'conv'在時域中用此濾波器對輸入信號進行手動卷積。但是,您可以**執行一些數學操作並將'G'轉換爲傳遞函數格式,並且可以在那裏提取分子和分母系數,但是這類工作不適合在此處詢問,並且可能更多沿着DSP StackExchange:http://dsp.stackexcahnge.com。 – rayryeng 2014-12-04 16:40:29