示例
500Hz和5000Hz的頻率相加,設(shè)計濾除5000Hz的低通濾波器
fs=100000创夜;%采樣率
t1=(0:2*pi*5/999:2*pi*5);%模擬500Hz
t2=(0:2*pi*50/999:2*pi*50);%模擬5000Hz
c1=cos(t1);
c2=cos(t2);
c=c1+c2;
cofband=fir1(64,1000/fs);
figure(1)
Plot_f(cofband,fs)%用的自定義的函數(shù)
sig=filter(cofband,1,c)
figure(2)
subplot(2,1,1);
Plot_f(c,fs)
subplot(2,1,2);
Plot_f(sig,fs)
小結(jié)
1 采樣率
很重要沿侈,必須事先設(shè)定采樣率峦睡,后面的步驟都會用到
2 正弦波頻率的模擬
在通信中頻率波形通常受基帶波形調(diào)制,在matlab仿真中通常為簡單的相乘兔院,假設(shè)基帶波形每信息比特是1000個樣點,則每個正弦波形無論頻率大小都需要有1000個樣點站削。
設(shè)定采樣率為100000坊萝,若要模擬5000Hz的信號,則每個周期需要有20個樣點钻哩,1000個樣點內(nèi)就有50個周期屹堰,所以函數(shù)為:
t=(0:2*pi*50/999:2*pi*50);
cos(t);
除以999是為了得到包括0在內(nèi)的1000個樣點,而不是1001個
3 濾波器的使用
fir1是設(shè)計濾波器街氢,64是階數(shù)扯键,1000是截止頻率,不用乘以2pi(我也不知道為啥不乘珊肃,但仿真結(jié)果顯示不乘是對的)
sig是用設(shè)計的濾波器cofband來對信號c濾波荣刑,cofband代表分子,1代表分母伦乔。
cofband=fir1(64,1000/fs);
sig=filter(cofband,1,c)
4 頻域分析
用fs+1對各個信號做傅里葉變換得到頻譜
function Plot_f( Signal ,fs)
nfft=fs+1;
Y = fft(Signal,nfft);
PSignal = Y.* conj(Y)/nfft;
f = fs*(0:nfft/2)/nfft;
plot(f,PSignal(1:nfft/2+1));
xlabel('frequency (Hz)');
axis([0 10000 -inf inf]);
end