信號與系統(tǒng)基礎(chǔ)之卷積定理:頻域乘積相當(dāng)于時(shí)域卷積,千萬不要問我什么,可以去看看教材上的公式推導(dǎo)。
運(yùn)算效率對比分析,使用FFT快速卷積法(實(shí)線)明顯比時(shí)域卷積乘法次數(shù)要少,一般而言64點(diǎn)以上,F(xiàn)FT法就具有優(yōu)勢。
FFT卷積基本過程描述:設(shè)信號x長度n,卷積系數(shù)h長度為k,則時(shí)域卷積結(jié)果長度為L=n+k-1,為了采用高效的基2型FFT算法,需要將信號和系數(shù)均在末尾補(bǔ)零擴(kuò)展到最接近的2的N次方長度m(比如n=32,k=16,則L=32+16-1=47,最近的2的N次方為64),然后分別做m點(diǎn)FFT變換到頻域后再復(fù)乘,最后IFFT變回時(shí)域。
從上理論就講說這么多,更詳細(xì)的可看看相關(guān)專著書籍,接下來用matlab仿真來看看運(yùn)算過程的中間環(huán)節(jié)是什么樣;
clc;
clear;
%%設(shè)定信號參數(shù)
T=10e-6; %信號長度:us
f0=3e6; %信號1:3MHz
f1=8e6; %信號2:8MHz
fs=80e6; %信號采樣率:MHz
t=-T/2:1/fs:T/2-1/fs; %時(shí)間序列
%加載fdatool設(shè)計(jì)的濾波器FIR系數(shù)
load("coef.mat");
%濾波器頻率響應(yīng)
freqz(coef,1,200,fs);
%低通濾波器參數(shù):3MHz帶寬,截止頻率4MHz,帶外抑制80dbc
信號和變量長度
信號長度800,系數(shù)長度134,則卷積結(jié)果長度為800+134-1=933,因此需要補(bǔ)零擴(kuò)展到1024點(diǎn);
%生成信號:模擬采樣過程
if_sig=cos(2*pi*f0*t)+cos(2*pi*f1*t);
%加入白噪聲SNR=30dB
if_sig=awgn(if_sig,30,'measured');
% if_sig=round(8192*if_sig); %中頻信號
plot(if_sig);title('原始信號');
plot(coef);title('濾波器系數(shù)的時(shí)域');
coef_fft = fft(coef,1024);
len=length(coef_fft);
f_x=(0:len-1)*fs/len;%頻率序列
f_x=f_x/1e6;
plot(f_x(1:len/2+1),10*log10(abs(coef_fft(1:len/2+1))));
title('濾波器系數(shù)的頻域');
xlabel('頻率/MHz');ylabel('幅度/dB');
此處留一個(gè)坑,下回繼續(xù)
sig_fft = fft(if_sig,1024);
plot(f_x,20*log10(abs(sig_fft)));
title('原始信號做1024點(diǎn)FFT');
xlabel('頻率/MHz');ylabel('幅度/dB');
%頻域相乘,注意此處為復(fù)數(shù)乘法
conv_fft = sig_fft.*coef_fft;
plot(f_x,20*log10(abs(conv_fft)));
title('信號和系數(shù)頻域乘積后');
xlabel('頻率/MHz');ylabel('幅度/dB');
上圖為頻域?yàn)V波后結(jié)果,可以看到8MHz的帶外信號被濾除,剩下3MHz的帶內(nèi)信號;接下來就是變換回時(shí)域波形。
%IFFT變換還原到時(shí)域
fft_filter_out = ifft(conv_fft);
plot(fft_filter_out);
title('FFT卷積頻域?yàn)V波后的信號波形');
為了方便對比,下邊給出通過時(shí)域卷積方式的運(yùn)算結(jié)果
%時(shí)域卷積方式濾波
conv_filter_out = conv(if_sig,coef);
plot(conv_filter_out);xlim([1,1200]);
title('時(shí)域卷積方式濾波后的信號波形');
從上面時(shí)域處理、頻域處理的結(jié)果可以看到,兩者處理后時(shí)域處理的結(jié)果和頻域處理后的前933個(gè)點(diǎn)的結(jié)果相同。
-
低通濾波器
+關(guān)注
關(guān)注
14文章
485瀏覽量
47538 -
FFT
+關(guān)注
關(guān)注
15文章
437瀏覽量
59563 -
信號處理器
+關(guān)注
關(guān)注
1文章
254瀏覽量
25351 -
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
19998 -
fir濾波器
+關(guān)注
關(guān)注
1文章
95瀏覽量
19096
發(fā)布評論請先 登錄
相關(guān)推薦
評論