日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 选带傅里叶变换(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);
    效果:



    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的选带傅里叶变换(zoom-fft)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。