现在的位置: 主页 > 在线留言 > 文章列表

选带傅里叶变换(zoom-fft)

作者:北京财贸天阶投资顾问有限公司 来源:www.usasheng.com 发布时间:2017-09-02 11:21:22
 

选带傅里叶变换(zoom-fft)

选带傅里叶变换的原理大家可以看书。大致的步骤为

移频 (将选带的中心频率移动到零频)
数字低通滤波器 (防止频率混叠)
重新采样 (将采样的数据再次间隔采样,间隔的数据取决于分析的带宽,就是放大倍数)
复FFT (由于经过了移频,所以数据不是实数了)
频率调整 (将负半轴的频率成分移到正半轴)

程序如下:

function [f, y] = zfft(x, fi, fa, fs) % x为采集的数据 % fi为分析的起始频率 % fa为分析的截止频率 % fs为采集数据的采样频率 % f为输出的频率序列 % y为输出的幅值序列(实数) f0 = (fi + fa) / 2; %中心频率 N = length(x); %数据长度 r = 0:N-1; b = 2*pi*f0.*r ./ fs; x1 = x .* exp(-1j .* b); %移频 bw = fa - fi; B = fir1(32, bw / fs); %滤波 截止频率为0.5bw x2 = filter(B, 1, x1); c = x2(1:floor(fs/bw):N); %重新采样 N1 = length(c); f = linspace(fi, fa, N1); y = abs(fft(c)) ./ N1 * 2; y = circshift(y, [0, floor(N1/2)]); %将负半轴的幅值移过来 end

应用实例:

fs = 2048; T = 100; t = 0:1/fs:T; x = 30 * cos(2*pi*110.*t) + 30 * cos(2*pi*111.45.*t) + 25*cos(2*pi*112.3*t) + 48*cos(2*pi*113.8.*t)+50*cos(2*pi*114.5.*t); [f, y] = zfft(x, 109, 115, fs); plot(f, y);
效果:

\

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站开发 http://www.feimao666.com

  • 上一篇:小技巧给网页减肥,让网站提速。
  • 下一篇:最后一页
  •