好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数字信号作业1.doc

30页
  • 卖家[上传人]:M****1
  • 文档编号:539350187
  • 上传时间:2023-03-28
  • 文档格式:DOC
  • 文档大小:249.33KB
  • / 30 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 作业1:x(t)=sin(2*pi*480*t)+2*sin(2*pi*490*t),(I) 若要在x(t)的频谱上分辨出这两个频率,且保证频谱不混叠,采样频率和信号时长至少要取多大?(II) ① 以1KHz的采样率采128个点,做128点FFT,画出频谱图; ② 以1KHz的采样率采256个点,做256点FFT,画出频谱图; ③ 以1KHz的采样率采128个点,后面添加128个0,做256点FFT,画 频谱图; ④ 以2KHz的采样率采128个点,做128点FFT,画出频谱图; ⑤ 以2KHz的采样率采256个点,做256点FFT,画出频谱图; ⑥ 以2KHz的采样率采512个点,做512点FFT,画出频谱图;要求:频谱图横轴坐标以Hz为单位,比较这5种情况下信号的频谱有何异同, 并说说你从这些现象中明白了什么道理I) 解:若要在x(t)的频谱上分辨出这两个频率,且保证频谱不混叠, 采样频率fs>=980Hz; 信号时长tp>=1/F=1/10Hz=0.1s;(II)① 以1KHz的采样率采128个点,做128点FFT,画出频谱图;用Matlab编写的程序为 clf;clear;clc;fs=1000;%采样频率和数据点数N=128; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on; 绘出的图像如图:② 以1KHz的采样率采256个点,做256点FFT,画出频谱图 用Matlab编写的程序为 clf;clear;clc;fs=1000;%采样频率和数据点数N=256; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=256');grid on;绘出的图像如图:③ 以1KHz的采样率采128个点,后面添加128个0,做256点FFT,画 频谱图; 用Matlab编写的程序为 clf;clear;clc;fs=1000;%采样频率和数据点数N=128; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号x1=zeros(1,256);x1(1:N)=x;y=fft(x1,256); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅n1=0:255;f=n1*fs/256; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128 N1=256');grid on; 绘出的图像为:④ 以2KHz的采样率采128个点,做128点FFT,画出频谱图; 用Matlab编写的程序为: clf;clear;clc;fs=2000;%采样频率和数据点数N=128; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');grid on; 绘出的图像为:⑤ 以2KHz的采样率采256个点,做256点FFT,画出频谱图; 用Matlab编写的程序为:clf;clear;clc;fs=2000;%采样频率和数据点数N=256; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=256');grid on; 绘出的图像为:⑥ 以2KHz的采样率采512个点,做512点FFT,画出频谱图; 用Matlab编写的程序为:clf;clear;clc;fs=2000;%采样频率和数据点数N=512; n=0:N-1;t=n/fs; %时间序列x=sin(2*pi*480*t)+2*sin(2*pi*490*t); %信号y=fft(x,N); %对信号进行快速Fourier变换mag=abs(y); %求得Fourier变换后的振幅f=n*fs/N; %频率序列subplot(1,1,1)plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=512');grid on; 绘出的图像为:从对这6幅图的比较中可以看出: 在采样频率fs一定的情况下,采样有效点数N越大,信号在频域上所占的脉宽越窄,频率混叠程度越小,频谱分辨率越大。

      若对采样点后面补零,可以使采样间隔更小,频谱形状更平滑,但不能提高分辨率作业2:x(t)= sin(2*pi*100*t)+ 0.5*cos(2*pi*1500*t) +0.5*sin(2*pi*2900*t),(I) 分别设计巴特沃思模拟低通、带通、高通滤波器,将信号中的三个分量分离出来; (II) 分别设计切比雪夫I、II型模拟低通、带通、高通滤波器,将信号中的三个分量分离出来;画出信号分离前后的时域波形图和频谱图,画出滤波器的幅频、相频特性曲线(幅频曲线横轴用普通坐标,纵轴用对数坐标);[自行确定滤波器的带宽和波纹,不允许用直接设计的方法,用低通滤波器转换函数]一,巴特沃兹模拟低通滤波器clc;clear;clf;Wp=800*2*pi;Ws=1200*2*pi;%通带阻带截止频率Rp=3;Rs=20;%通带波纹和阻带衰减[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s'); %求得滤波器的最小阶数和截止频率 [z,p,k]=buttap(N); %设计Butterworth滤波器 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式[bt,at]=lp2lp(b,a,Wc);w=linspace(1,5000,1000)*2*pi; %设置绘制频率响应的频率点H=freqs(bt,at,w); %计算给定频率点的复数频率响应magH=abs(H);%--------------------------------------------------------------------------figure(1)subplot(2,1,1),plot(w/2/pi,20*log10(magH)); %绘制幅频响应xlabel('频率/Hz');ylabel('振幅/dB');grid on;title('幅频图');subplot(2,1,2),plot(w/2/pi,unwrap(angle(H)));%绘制相频响应xlabel('频率/Hz');ylabel('相位/^o');grid on;title('相频图')%--------------------------------------------------------------------------figure(2)dt=1/10000; %模拟信号采样间隔f1=100;f2=1500;f3=2900;%输入信号的三个频率成分t=0:dt:0.04; %给定模拟时间段x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+0.5*sin(2*pi*f3*t); %输入信号h=[tf(bt,at)]; %滤波器在MATLAB系统中的表示[y,t1]=lsim(h,x,t); %模拟输出subplot(2,1,1),plot(t,x),title('输入信号') %绘出输入信号subplot(2,1,2),plot(t1,y) %绘制输出信号title('输出信号'),xlabel('时间/s')%--------------------------------------------------------------------------figure(3)Fy=abs(fft(y));w=(-(length(Fy)-1)/2:(length(Fy)-1)/2)/(length(Fy)*dt);plot(w((length(Fy)-1)/2+1:(length(Fy)-1)),Fy(1:(length(Fy)-1)/2)*2/length(Fy)) title('输出信号频谱')xlabel('频率/Hz') 二、巴特沃兹模拟带通滤波器clc;clear;clf;Wp=[1200,1800]*2*pi;Ws=[1000,2000]*2*pi;%通带阻带截止频率Rp=3;Rs=20;%通带波纹和阻带衰减[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s'); %求得滤波器的最小阶数和截止频率 [z,p,k]=buttap(N); %设计Butterworth滤波器 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式 Wo=1500*2*pi; %中心频率Bw=600*2*pi; %频带宽度[bt,at]=lp2bp(b,a,Wo,Bw); %频率转换w=linspace(1,5000,1000)*2*pi; %设置绘制频率响应的频率点。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.