Ⅰ FIR濾波器演算法
FIR濾波器(有限長度沖擊響應)是全零點型濾波器,其實現形式如下:
y[n] = a0*x[n] + a1*x[n-1] + ... + a10*x[n-10];
這里 x 是輸入序列,y 是輸出序列。裡面的 a0 到 a10 對應你的11個系數。你要求第500個點對應的輸出,那麼 n 取500,系數應該乘以自輸入點起,最近的11個值,即 x[500],x[499],x[498]...而不是500兩側的11個數。
通過 matlab 的 help 你能得到更全面的解釋。
希望對你有幫助
Ⅱ 試畫出信號按時間抽取的基-2FFT演算法信號流圖,並寫出對應過程奇偶分流的公式。
基2演算法,序列的長度是為2的冪,序列的DFT為。序列可以由奇序列和偶序列組成,DFT分別為和。 從最後一級往前分解對應的蝶形結構,這些蝶形結構最左邊的輸入都是序列的DFT值,而分解直到最左邊的蝶形結構是兩點序列的DFT,此時最左邊的值是序列x[k]。
f1=50; %10Hz
f2=100; %100Hz
%抽樣頻率
Fs=1000; %100Hz
%抽樣點數N
L=10;
N=2^L;
%抽樣脈沖序列
n = 0:N-1;
t = n./Fs;
% f2 一個周期的采樣數
M = floor(Fs/f2);
%被采樣信號
x = cos(2*pi*f1.*t)+sin(2*pi*f2.*t);
%采樣序列
subplot(311);
stem(t(1:2*M),x(1:2*M));
hold off;
%傅里葉變換
%根據有限長序列的離散傅里葉變換公式計算DFT
n = 0:N-1;
k = 0:N-1;
F = x * exp(-j*2*pi/N).^(n'*k);
subplot(312);
plot(n,abs(F));
subplot(313);
plot(k,angle(F));
(2)of2fs演算法擴展閱讀:
庫利-圖基快速傅里葉變換演算法是將序列長為N的DFT分區為兩個長為N/2的子序列的DFT,因此這一應用只適用於序列長度為2的冪的DFT計算,即基2-FFT。實際上,如同高斯和庫利與圖基都指出的那樣,庫利-圖基演算法也可以用於序列長度N為任意因數分解形式的DFT,即混合基FFT,而且還可以應用於其他諸如分裂基FFT等變種。
盡管庫利-圖基演算法的基本思路是採用遞歸的方法進行計算,大多數傳統的演算法實現都將顯示的遞歸演算法改寫為非遞歸的形式。另外,因為庫利-圖基演算法是將DFT分解為較小長度的多個DFT,因此它可以同任一種其他的DFT演算法聯合使用。
Ⅲ 高分懸賞 高精度正弦波信號幅值測量,要求達到1e-4的解析度
頻率多少?
如果是50Hz的,許多儀表都可滿足要求,解析度萬分之一不算高,目前技術精度萬分之一也可實現。
如果自己做,實現解析度萬分之一,採用16位AD即可。