Ⅰ 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即可。