• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: Matlab
  • 标签: Matlab,  DDS,FIR  

资源简介

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

评论

共有 条评论