資源簡介
Matlab寫的DDS和FIR濾波器,實測可用
代碼片段和文件信息
%x=-1:0.0001:1;
f1=10;%第一個點頻信號分量頻率
f2=100000;%第二個點頻信號分量頻率
fs=1000000;%采樣率
T=0.5;%時寬
B=20;%帶寬
n=round(T*fs);%采樣點個數
t=linspace(0Tn);
y0=randn(1n);
y1=sin(2*pi*f1*t);????????????%1kHz正弦值
y11=y1+y0;
y2=sin(2*pi*f2*t);??????%10kHz正弦值,128k的將式中的10換為128即可
y3=cos(2*pi*f2*t);???????%10kHz余弦值
y4=y11.*y2;?????????????????%1K*10K正弦值
y5=y4.*y2;
y6=y4.*y3;
b=fir1(64?B/(fs/2));??%濾波產生指定帶寬的噪聲信號
%freqz(b);%畫濾波器頻響
y5_after_fir=filter(b1y5);??%信號通過濾波器
y6_after_fir=filter(b1y6);??%信號通過濾波器
y7_after_fir=filter(b1y1);??%信號通過濾波器
subplot(331)????????????????%畫1kHz的正弦圖像
plot(ty11‘r‘)???????????????????%用紅色畫
grid?on
?
subplot(332)?????????????????%畫32kHz的正弦圖像
plot(ty2‘g‘)???????????????????%用綠色畫
grid?on
?
subplot(333)?????????????????%畫兩者相乘(用點乘)的正弦圖像,相加則直接用加號(+)
p
評論
共有 條評論