信號(hào)與系統(tǒng)基礎(chǔ)之卷積定理:頻域乘積相當(dāng)于時(shí)域卷積,千萬不要問我什么,可以去看看教材上的公式推導(dǎo)。
運(yùn)算效率對(duì)比分析,使用FFT快速卷積法(實(shí)線)明顯比時(shí)域卷積乘法次數(shù)要少,一般而言64點(diǎn)以上,F(xiàn)FT法就具有優(yōu)勢(shì)。
FFT卷積基本過程描述:設(shè)信號(hào)x長(zhǎng)度n,卷積系數(shù)h長(zhǎng)度為k,則時(shí)域卷積結(jié)果長(zhǎng)度為L(zhǎng)=n+k-1,為了采用高效的基2型FFT算法,需要將信號(hào)和系數(shù)均在末尾補(bǔ)零擴(kuò)展到最接近的2的N次方長(zhǎng)度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è)定信號(hào)參數(shù)
T=10e-6; %信號(hào)長(zhǎng)度:us
f0=3e6; %信號(hào)1:3MHz
f1=8e6; %信號(hào)2:8MHz
fs=80e6; %信號(hào)采樣率: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
信號(hào)和變量長(zhǎng)度
信號(hào)長(zhǎng)度800,系數(shù)長(zhǎng)度134,則卷積結(jié)果長(zhǎng)度為800+134-1=933,因此需要補(bǔ)零擴(kuò)展到1024點(diǎn);
%生成信號(hào):模擬采樣過程
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); %中頻信號(hào)
plot(if_sig);title('原始信號(hào)');
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('原始信號(hào)做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('信號(hào)和系數(shù)頻域乘積后');
xlabel('頻率/MHz');ylabel('幅度/dB');
上圖為頻域?yàn)V波后結(jié)果,可以看到8MHz的帶外信號(hào)被濾除,剩下3MHz的帶內(nèi)信號(hào);接下來就是變換回時(shí)域波形。
%IFFT變換還原到時(shí)域
fft_filter_out = ifft(conv_fft);
plot(fft_filter_out);
title('FFT卷積頻域?yàn)V波后的信號(hào)波形');
為了方便對(duì)比,下邊給出通過時(shí)域卷積方式的運(yùn)算結(jié)果
%時(shí)域卷積方式濾波
conv_filter_out = conv(if_sig,coef);
plot(conv_filter_out);xlim([1,1200]);
title('時(shí)域卷積方式濾波后的信號(hào)波形');
從上面時(shí)域處理、頻域處理的結(jié)果可以看到,兩者處理后時(shí)域處理的結(jié)果和頻域處理后的前933個(gè)點(diǎn)的結(jié)果相同。
-
低通濾波器
+關(guān)注
關(guān)注
14文章
471瀏覽量
47289 -
FFT
+關(guān)注
關(guān)注
15文章
433瀏覽量
59256 -
信號(hào)處理器
+關(guān)注
關(guān)注
1文章
250瀏覽量
25232 -
MATLAB仿真
+關(guān)注
關(guān)注
4文章
175瀏覽量
19891 -
fir濾波器
+關(guān)注
關(guān)注
1文章
94瀏覽量
19013
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論