選帶傅利葉變換 zoom fft

2021-07-03 18:13:05 字數 1342 閱讀 3000

選帶傅利葉變換的原理大家可以看書。大致的步驟為

移頻 (將選帶的中心頻率移動到零頻)

數字低通濾波器  (防止頻率混疊)

重新取樣  (將取樣的資料再次間隔取樣,間隔的資料取決於分析的頻寬,就是放大倍數)

復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);

效果:

選帶傅利葉變換 zoom fft

選帶傅利葉變換的原理大家能夠看書。大致的步驟為 移頻 將選帶的中心頻率移動到零頻 數字低通濾波器 防止頻率混疊 又一次取樣 將取樣的資料再次間隔取樣,間隔的資料取決於分析的頻寬,就是放大倍數 復fft 因為經過了移頻,所以資料不是實數了 頻率調整 將負半軸的頻率成分移到正半軸 程式例如以下 func...

傅利葉變換與快速傅利葉變換

作為電子資訊專業的學生老說,這個不知道,或者理解不清楚,是十分不應該的,作為乙個學渣,有時候確實是理解不清楚的 1 首先離散傅利葉變換目的 簡單點說 就是將乙個訊號從時域變換到頻域 標準點說 將以時間為自變數的訊號 與 頻率為自變數的頻譜函式之間的某種關係變換 數學描述 對於 n點序列 其中自然對數...

傅利葉變換

1 為什麼要進行傅利葉變換,其物理意義是什麼?傅利葉變換是數字訊號處理領域一種很重要的演算法。要知道傅利葉變換演算法的意義,首先要了解傅利葉原理的意義。傅利葉原理表明 任何連續測量的時序或訊號,都可以表示為不同頻率的正弦波訊號的無限疊加。而根據該原理創立的傅利葉變換演算法利用直接測量到的原始訊號,以...