数字信号处理设计实验报告 西电
数字信号处理实验(西电高西全教材)
《数字信号处理》第三版,高西全、丁玉美,实验程序清单:实验0实验内容:1、实验用Matlab工具箱函数简介熟悉以下函数的功能、格式(1)abs (2)angle (3)conv (4)filter(5)freqz (6)impz (7)fft (8)ifft(9)plot (10)stem (11)subplot (12)figure2、常用序列的产生及其频谱分析(1)单位脉冲序列及其频谱n=0:50; %定义序列的长度是50x=[1,zeros(1,50)]; %注意:MATLAB中数组下标从1开始%x(1)=1;close all;subplot(3,1,1);stem(x);title('单位冲击信号序列');k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')(2)矩形序列及其频谱n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title(…矩形序列‟);k=-25:25;X=x*(exp(-j*pi/25)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…矩形序列的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱sub plot(3,1,3);stem(angX) ; title (…矩形序列的相位谱‟)(3)特定冲击串及其频谱(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)%h2n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;close all;subplot(3,1,1);stem(x);title(…特定冲击串‟);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…特定冲击串的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…特定冲击串的相位谱‟)(4)采样信号序列及其频谱%x(n)=Ae-anT sin(w0nT)u(nT) (0<=n<=50);%A=444.128;a=50*sqrt(2.0)*pi; fs=1kHz(T=0.001);w0=50*sqrt(2.0)*pi n=0:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率,fs=1kHzw0=50*sqrt(2.0)*pi;x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形subplot(3,1,1);stem(x); %绘制x(n)的图形title(…理想采样信号序列‟);k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…理想采样信号序列的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…理想采样信号序列的相位谱‟)单位冲击信号的相位谱矩形序列的相位谱特定冲击串特定冲击串的幅度谱特定冲击串的相位谱0102030405060理想采样信号序列理想采样信号序列的相位谱实验一 系统响应及系统稳定性%====内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性==== close all;clear allA=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n)x2n=ones(1,128); %产生信号x2(n)=u(n)hn=impz(B,A,58); %求系统单位脉冲响应h(n)subplot(3,1,1);stem(hn);title('(a) 系统单位脉冲响应h(n)');y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n)subplot(3,1,2);stem(y1n);title('(b) 系统对R8(n)的响应y1(n)');y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)subplot(3,1,3);%y='y2(n)';stem(y2n);title('(c) 系统对u(n)的响应y2(n)');box on%===内容2:调用conv函数计算卷积=====x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n)h1n=[ones(1,10) zeros(1,10)];h2n=[1 2.5 2.5 1 zeros(1,10)];y21n=conv(h1n,x1n);y22n=conv(h2n,x1n);figure(2)subplot(2,2,1);stem(h1n); %调用函数stem绘图title('(d) 系统单位脉冲响应h1(n)');box onsubplot(2,2,2);stem(y21n);title('(e) h1(n)与R8(n)的卷积y21(n)');box onsubplot(2,2,3);stem(h2n);title('(f) 系统单位脉冲响应h2(n)');subplot(2,2,4);stem(y22n);title('(g) h2(n)与R8(n)的卷积y22(n)');%====内容3:谐振器分析=======un=ones(1,256); %产生信号u(n)n=0:255;xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n)y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n)figure(3)subplot(2,1,1);stem(y31n);title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);stem(y32n);title('(i) 谐振器对正弦信号的响应y32(n)');(a) 系统单位脉冲响应h(n)(b) 系统对R8(n)的响应y1(n)(f) 系统单位脉冲响应h2(n)(g) h2(n)与R8(n)的卷积y22(n)(h) 谐振器对u(n)的响应y31(n)(i) 谐振器对正弦信号的响应y32(n)实验二时域采样与频域采样1时域采样理论的验证程序清单% 时域采样理论验证程序exp2a.mTp=64/1000; %观察时间Tp=64微秒%产生M长采样序列x(n)% Fs=1000;T=1/Fs;Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk= fft(xnt,M); %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,1);stem(xnt);title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk));title('(b) FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])%================================% Fs=300Hz和Fs=200Hz的程序与上面Fs=1000Hz完全相同。
数字信号处理课程设计实验报告
数字信号处理课程设计实验报告数字信号处理课程设计实验报告(基础实验篇)实验⼀离散时间系统及离散卷积⼀、实验⽬的和要求实验⽬的:(1)熟悉MATLAB软件的使⽤⽅法。
(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。
(3)利⽤MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。
(4)熟悉离散卷积的概念,并利⽤MATLAB计算离散卷积。
实验要求:(1)编制实验程序,并给编制程序加注释;(2)按照实验内容项要求完成笔算结果;(3)验证编制程序的正确性,记录实验结果。
(4)⾄少要求⼀个除参考实例以外的实例,在实验报告中,要描述清楚实例中的系统,并对实验结果进⾏解释说明。
⼆、实验原理δ的响应输出称为系统1.设系统的初始状态为零,系统对输⼊为单位脉冲序列()n的单位脉冲响应()h n。
对于离散系统可以利⽤差分⽅程,单位脉冲响应,以及系统函数对系统进⾏描述。
单位脉冲响应是系统的⼀种描述⽅法,若已知了系统的系统函数,可以利⽤系统得出系统的单位脉冲响应。
在MATLAB中利⽤impz 由函数函数求出单位脉冲响应()h n2.幅频特性,它指的是当ω从0到∞变化时,|()|Aω,H jω的变化特性,记为()相频特性,指的是当ω从0到∞变化时,|()|∠的变化特性称为相频特性,H jωω。
离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同记为()频率的输⼊序列的处理情况。
三、实验⽅法与内容(需求分析、算法设计思路、流程图等)四、实验原始纪录(源程序等)1.离散时间系统的单位脉冲响应clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];impz(a,b,30);%离散时间系统的冲激响应(30个样值点)title('系统单位脉冲响应')axis([-3,30,-2,2]);2.(1)离散系统的幅频、相频的分析⽅法21-0.3()1 1.60.9425j j j e H z e e ωωω---=-+clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];%a 分⼦系数,b 分母系数 [H,w]=freqz(a,b,'whole'); subplot(2,1,1); plot(w/pi,abs(H));%幅度 title('幅度谱');xlabel('\omega^pi');ylabel('|H(e^j^\omega)'); grid on;subplot(2,1,2);plot(w/pi,angle(H));%相位 title('相位谱');xlabel('\omega^pi'); ylabel('phi(\omega)'); grid on;(2)零极点分布图clc; clear all a=[1,-0.3];b=[1,-1.6,0.9425]; zplane(a,b);%零极图 title('零极点分布图')3.离散卷积的计算111()()*()y n x n h n =clcclear all% x=[1,4,3,5,3,6,5] , -4<=n<=2 % h=[3,2,4,1,5,3], -2<=n<=3 % 求两序列的卷积 clear all;x=[1,4,3,5,3,6,5]; nx=-4:2; h=[3,2,4,1,5,3];nh=-2:3;ny=(nx(1)+nh(1)):(nx(length(x))+nh(length(h))); y=conv(x,h);n=length(ny);subplot(3,1,1);stem(nx,x);xlabel('nx');ylabel('x'); subplot(3,1,2);stem(nh,h);xlabel('nh');ylabel('h'); subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('x 和h 的卷积')五、实验结果及分析(计算过程与结果、数据曲线、图表等)1.离散时间系统的单位脉冲响应051015202530-2-1.5-1-0.500.511.52n (samples)A m p l i t u d e系统单位脉冲响应2.离散系统的幅频、相频的分析⽅法00.20.40.60.81 1.2 1.4 1.6 1.82 102030幅度谱ωp i|H (e j ω)0.20.40.60.811.21.41.61.82-2-1012相位谱ωp ip h i (ω)-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t零极点分布图3.离散卷积的计算-4-3-2-1012nxx-2-1.5-1-0.500.51 1.522.53nhh -6-4-20246nx 和h 的卷积六、实验总结与思考实验⼆离散傅⽴叶变换与快速傅⽴叶变换⼀、实验⽬的和要求实验⽬的:(1)加深理解离散傅⾥叶变换及快速傅⾥叶变换概念; (2)学会应⽤FFT 对典型信号进⾏频谱分析的⽅法; (3)研究如何利⽤FFT 程序分析确定性时间连续信号; (4)熟悉应⽤FFT 实现两个序列的线性卷积的⽅法;实验要求:(1)编制DFT 程序及FFT 程序,并⽐较DFT 程序与FFT 程序的运⾏时间。
数字信号处理实验报告(自己的实验报告)
数字信号处理实验报告(⾃⼰的实验报告)数字信号处理实验报告西南交通⼤学信息科学与技术学院姓名:伍先春学号:20092487班级:⾃动化1班指导⽼师:张翠芳实验⼀序列的傅⽴叶变换实验⽬的进⼀步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅⽴叶变换(FFT )的应⽤。
实验步骤1. 复习DFS 和DFT 的定义,性质和应⽤;2. 熟悉MATLAB 语⾔的命令窗⼝、编程窗⼝和图形窗⼝的使⽤;利⽤提供的程序例⼦编写实验⽤程序;按实验内容上机实验,并进⾏实验结果分析;写出完整的实验报告,并将程序附在后⾯。
实验内容1. 周期⽅波序列的频谱试画出下⾯四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。
2. 有限长序列x(n)的DFT(1)取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2)将(1)中的x(n)以补零的⽅式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3)取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。
利⽤FFT进⾏谱分析已知:模拟信号以t=0.01n(n=0:N-1)进⾏采样,求N 点DFT 的幅值谱。
请分别画出N=45; N=50;N=55;N=60时的幅值曲线。
数字信号处理实验⼀1.(1) L=5;N=20;60,7)4(;60,5)3(;40,5)2(;20,5)1()](~[)(~,2,1,01)1(,01,1)(~=========±±=??-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L mN L mN n mN n x )52.0cos()48.0cos()(n n n x ππ+=)8cos(5)4sin(2)(t t t x ππ+=n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=20'); subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5;N=40;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(2)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=40');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(3)L=5;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(3)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=60'); subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(4)L=7;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(4)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=7,N=60'); subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');2. (1)M=10;N=10;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(1)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(2)M=10;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(2)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(3)M=100;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(3)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=100'); axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');3.figure(1)subplot(2,2,1)N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N); plot(q,abs(y))stem(q,abs(y))title('FFT N=45')%subplot(2,2,2)N=50;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N); plot(q,abs(y))title('FFT N=50')%subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);title('FFT N=55')%subplot(2,2,4)N=16;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=16')function[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;实验⼆⽤双线性变换法设计IIR 数字滤波器⼀、实验⽬的1.熟悉⽤双线性变换法设计IIR 数字滤波器的原理与⽅法; 2.掌握数字滤波器的计算机仿真⽅法;3.通过观察对实际⼼电图的滤波作⽤,获得数字滤波器的感性知识。
西电电院数字信号处理上机实验报告六
实验六、FIR数字滤波器设计及其网络结构班级: 学号: 姓名: 成绩:1实验目得(1)熟悉线性相位FIR数字滤波器得时域特点、频域特点与零极点分布;(2)掌握线性相位FIR数字滤波器得窗函数设计法与频率采样设计法;(3)了解IIR数字滤波器与FIR数字滤波器得优缺点及其适用场合。
2 实验内容(1)设计计算机程序,根据滤波器得主要技术指标设计线性相位FIR数字低通、高通、带通与带阻滤波器;(2)绘制滤波器得幅频特性与相频特性曲线,验证滤波器得设计结果就是否达到设计指标要求;(3)画出线性相位FIR数字滤波器得网络结构信号流图。
3实验步骤(1)设计相应得四种滤波器得MATLAB程序;(2)画出幅频相频特性曲线;(3)画出信号流图。
4 程序设计%% FIR低通f=[0、2,0、35];m=[1,0];Rp=1;Rs=40;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+2;hn=remez(M,f0,m0,w);w=0:0、001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% FIR高通f=[0、7,0、9];m=[0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0、001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% FIR带通f=[0、2,0、35,0、65,0、8];m=[0,1,0];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+3hn=remez(M,f0,m0,w);w=0:0、001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% FIR带阻f=[0、2,0、35,0、65,0、8];m=[1,0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0、001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') 5实验结果及分析(1)FIR低通滤波器自动得到得M值不满足要求,故我们将M加上2 在w=0、2π时,H=-0、5dB;w=0、35π时,H=-41dB。
西安电子科技大学数字信号处理上机报告
数字信号处理大作业院系:电子工程学院学号:02115043姓名:邱道森实验一:信号、系统及系统响应一、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理采样是连续信号数字处理的第一个关键环节。
对连续信号()a x t 进行理想采样的过程可用(1.1)式表示:()()()ˆa a xt x t p t =⋅ 其中()t xa ˆ为()a x t 的理想采样,()p t 为周期冲激脉冲,即 ()()n p t t nT δ∞=-∞=-∑()t xa ˆ的傅里叶变换()j a X Ω为 ()()s 1ˆj j j a a m X ΩX ΩkΩT ∞=-∞=-∑进行傅里叶变换,()()()j ˆj e d Ωt a a n X Ωx t t nT t δ∞∞--∞=-∞⎡⎤=-⎢⎥⎣⎦∑⎰ ()()j e d Ωtan x t t nT t δ∞∞--∞=-∞=-∑⎰()j e ΩnTan x nT ∞-=-∞=∑式中的()a x nT 就是采样后得到的序列()x n , 即()()a x n x nT =()x n 的傅里叶变换为()()j j e enn X x n ωω∞-=-∞=∑比较可知()()j ˆj e aΩTX ΩX ωω==为了在数字计算机上观察分析各种序列的频域特性,通常对()j e X ω在[]0,2π上进行M 点采样来观察分析。
对长度为N 的有限长序列()x n ,有()()1j j 0eekk N nn X x n ωω--==∑其中2π,0,1,,1k k k M Mω==⋅⋅⋅-一个时域离散线性时不变系统的输入/输出关系为()()()()()m y n x n h n x m h n m ∞=-∞=*=-∑上述卷积运算也可以转到频域实现()()()j j j e e e Y X H ωωω= (1.9)三、实验内容及步骤(1) 认真复习采样理论、 离散信号与系统、 线性卷积、 序列的傅里叶变换及性质等有关内容, 阅读本实验原理与方法。
2017年西电电院数字信号处理上机实验报告五
实验五、IIR数字滤波器设计及其网络结构班级:学号:姓名:成绩:1实验目的(1)熟悉数字滤波的基本概念、数字滤波器的主要技术指标及其物理意义;(2)掌握巴特沃斯和切比雪夫模拟低通滤波器的设计方法和IIR数字低通滤波器的脉冲响应不变设计法、双线性变换法设计方法。
(3)了解模拟和数字滤波器的频率变换、IIR数字滤波器的直接(优化)设计方法;2 实验内容(1)设计计算机程序,根据滤波器的主要技术指标设计IIR数字巴特沃斯和切比雪夫低通、高通、带通和带阻滤波器;(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求;(3)画出数字滤波器的直接型、级联型、并联型网络结构信号流图。
3实验步骤(1)设计相应的八种滤波器的MATLAB程序;(2)画出幅频相频特性曲线;(3)画出信号流图。
4程序设计%% 巴特沃斯低通wp=0.2;ws=0.35;rp=1;rs=10;[N,wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N,wc);w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H))subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% 巴特沃斯高通wp=0.8;ws=0.6;rp=1;rs=10;[N,wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N,wc,'high');w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% 巴特沃斯带通wpl=0.4;wpu=0.6;wsl=0.2;wsu=0.8wp=[wpl,wpu];ws=[wsl,wsu];rp=1;rs=20;[N,wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N,wc);w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|') subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% 巴特沃斯带阻wpl=0.2;wpu=0.8;wsl=0.4;wsu=0.6wp=[wpl,wpu];ws=[wsl,wsu];rp=1;rs=20;[N,wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N,wc,'stop');w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') %% 切比雪夫低通wp=0.2;ws=0.5;rp=1;rs=40;[N,wpo]=cheb1ord(wp,ws,rp,rs);[B,A]=cheby1(N,rp,wpo);w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% 切比雪夫高通wp=0.7;ws=0.5;rp=1;rs=40;[N,wpo]=cheb1ord(wp,ws,rp,rs);[B,A]=cheby1(N,rp,wpo,'high');w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% 切比雪夫带通wpl=0.4;wpu=0.6;wsl=0.2;wsu=0.8wp=[wpl,wpu];ws=[wsl,wsu];rp=1;rs=20;[N,wpo]=cheb1ord(wp,ws,rp,rs);[B,A]=cheby1(N,rp,wpo);w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% 切比雪夫带阻wpl=0.2;wpu=0.8;wsl=0.4;wsu=0.6wp=[wpl,wpu];ws=[wsl,wsu];rp=1;rs=20;[N,wpo]=cheb1ord(wp,ws,rp,rs);[B,A]=cheby1(N,rp,wpo,'stop');w=0:0.001:pi;[H,w]=freqz(B,A,w);H1=20*log10(abs(H));subplot(2,1,1)plot(w/pi,H1),grid on;xlabel('\omega/\pi'),ylabel('|H(e^i^\omega)|')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')5实验结果及分析(1)巴特沃斯低通W=0.5πi时,H=-0.75dB,w=0.35π时,H=-10dB,满足要求。
数字信号处理(西电上机实验)
数字信号处理实验报告实验一:信号、系统及系统响应一、实验目的:(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理与方法:(1) 时域采样。
(2) LTI系统的输入输出关系。
三、实验内容、步骤(1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a. xa(t)=A*e^-at *sin(Ω0t)u(t)A=444.128;a=50*sqrt(2)*pi;b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列:xc(n)=RN(n), N=10②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR系统。
a. ha(n)=R10(n);b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)③有限长序列线性卷积子程序用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。
调用格式如下:y=conv (x, h)四、实验内容调通并运行实验程序,完成下述实验内容:①分析采样序列的特性。
a. 取采样频率fs=1 kHz, 即T=1 ms。
b. 改变采样频率,fs=300 Hz,观察|X(ejω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(ejω)|曲线。
②时域离散信号、系统和系统响应分析。
a. 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
数字信号处理设计实验报告 西电
数字信号处理设计实验报告一、实验目的通过实验学会设计IIR和FIR数字滤波器分离多个信号,并用matlab实现。
二、实验容用数字信号处理技术实现两个时域重叠信号的分离,及相位检波,设计分离和检波的方法,编写计算机程序,模拟信号处理过程,绘出时域和频域的处理结果。
)三、程序设计模拟信号的时域波形,频谱Fs=40000;t=0:1/Fs:4;s1=cos(2*pi*30*t).*cos(2*pi*100*t);s2=cos(2*pi*70*t).*cos(2*pi*700*t);st=s1+s2;S1=abs(fftshift(fft(s1)))/80000;S2=abs(fftshift(fft(s2)))/80000;ST=abs(fftshift(fft(st)))/80000;F = (-80000:80000)*0.25figure(1)subplot(321);plot(t,s1);title('s1时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.1 -1 1])subplot(322);plot(F,S1);title('s1频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subplot(323);plot(t,s2);title('s2时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subplot(324);plot(F,S2);title('s2频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subplot(325);plot(t,st);title('st时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subplot(326);plot(F,ST);title('st频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])采样信号的时域波形,频谱Fs1=4000;t1=0:1/Fs1:4; N = 0:length(t1)-1s1n=cos(2*pi*30*N/Fs1).*cos(2*pi*100*N/Fs1); s2n=cos(2*pi*70*N/Fs1).*cos(2*pi*700*N/Fs1); sn=s1n+s2n;S1N=abs(fftshift(fft(s1n)))/8000;S2N=abs(fftshift(fft(s2n)))/8000;SN=abs(fftshift(fft(sn)))/8000;F1 = (-8000:8000)*0.25figure(2)subplot(321);stem(t1,s1n);title('s1n时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subplot(322);plot(F1,S1N);title('S1N频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subplot(323);stem(t1,s2n);title('s2n时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.025 -1 1])subplot(324);plot(F1,S2N);title('S2N频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subplot(325);stem(t1,sn);title('sn时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.025 -1 1])subplot(326);plot(F1,SN);title('SN频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])通过前级滤波器的波形fp1 = 300;fs1 = 400;Rp = 1;Rs=40Wp1=2*fp1/Fs1;Ws1=2*fs1/Fs1; %%滤波器1[M1,Wc1]=buttord(Wp1,Ws1,Rp,Rs);[Bz1,Az1]=butter(M1,Wc1,'low');fp2 = 500;fs2 = 400;Rp = 1;Rs=40Wp2=2*fp2/Fs1;Ws2=2*fs2/Fs1; %%滤波器2[M2,Wc2]=buttord(Wp2,Ws2,Rp,Rs);[Bz2,Az2]=butter(M2,Wc2,'high');s3=filter(Bz1,Az1,sn); %信号通过低通滤波器S3=abs(fftshift(fft(s3)))/8000; %%还原真实幅值,由于是N个点的叠加s4=filter(Bz2,Az2,sn); %信号通过高通滤波器S4=abs(fftshift(fft(s4)))/8000; %%还原真实幅值,由于是N个点的叠加figure(3)subplot(221);plot(t1,s3);title('通过前级低通滤波器1信号时域波形');xlabel('时间t');ylabel('幅值');grid onaxis([0 0.1 -1 1])subplot(222);plot(F1,S3);title('通过前级低通滤波器1信号频谱图');xlabel('频率f');ylabel('幅值');grid on;axis([-1000 1000 0 1])subplot(223);plot(t1,s4);title('通过前级高通滤波器1信号时域波形');xlabel('时间t');ylabel('幅值');grid onaxis([0 0.1 -1 1])subplot(224);plot(F1,S4);title('通过前级高通滤波器1信号频谱图');xlabel('频率f');ylabel('幅值A');grid on;axis([-1000 1000 0 1])后级检波滤波输出L1=cos(2*pi*100*N/Fs1);L2=cos(2*pi*700*N/Fs1); %本振信号x1=L1.*s3;x2=L2.*s4;fp3 = 50;fs3 =90;Wp3=2*fp3/Fs1;Ws3=2*fs3/Fs1;Rp=1;Rs=40; %%后级滤波器LPF1 [M3,Wc3]=buttord(Wp3,Ws3,Rp,Rs);[Bz3,Az3]=butter(M3,Wc3,'low');y1=filter(Bz3,Az3,x1); %信号通过低通滤波器Y1=abs(fftshift(fft(y1)))/8000;fp4 = 200;fs4 =300;Wp4=2*fp4/Fs1;Ws4=2*fs4/Fs1;Rp=1;Rs=40; %%后级滤波器LPF2 [M4,Wc4]=buttord(Wp4,Ws4,Rp,Rs);[Bz4,Az4]=butter(M4,Wc4,'low');y2=filter(Bz4,Az4,x2); %信号通过低通滤波器Y2=abs(fftshift(fft(y2)))/8000;figure(4)subplot(221);plot(t1,y1);title('通过后级低通滤波器1信号时域波形'); xlabel('时间t');ylabel('幅值');grid on;axis([0.1 0.6 -1 1])subplot(222);plot(F1,Y1);title('通过后级低通滤波器1信号频谱图'); xlabel('频率f');ylabel('幅值A');grid on;axis([-100 100 0 0.5])subplot(223);plot(t1,y2);title('通过后级低通滤波器2信号时域波形'); xlabel('时间t');ylabel('幅值');grid on;axis([0.1 0.6 -1 1])subplot(224);plot(F1,Y2);title('通过后级低通滤波器2信号频谱图'); xlabel('频率f');ylabel('幅值A');grid on;axis([-100 100 0 0.5])四、实验结果及分析由上图可知,s1(t)的频谱分量分布在70hz、130hz、-70hz、-130hz处,s2(t)的频谱分量在630hz、770hz、-630hz、-770hz 处,而s(t)的频谱是s1(t)、s2(t)的叠加。
数字信号处理西电
数字信号处理上机第一次实验实验一:设给定模拟信号()1000t a x t e -=,的单位是ms 。
(1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。
(2) 用两个不同的采样频率对给定的进行采样。
○1。
○2 。
比较两种采样率下的信号频谱,并解释。
实验一MATLAB 程序:(1)○1 clc; fs=5000;ts=1/fs;N=1000;t=(-N:N)*ts;s=exp(-abs(t));plot(t,s,'linewidth',1.5)xlabel('时间')ylabel('幅度')set(gca,'fontweight','b','fontsize',12)SPL=N*100;figuresp=fftshift(fft(s,SPL));sp=sp/max(sp)*100;freqb=-fs/2:fs/SPL:fs/2-fs/SPL;plot(freqb,abs(sp))xlabel('频率')ylabel('频谱幅度')set(gca,'fontweight','b','fontsize',12)yy=abs(abs(sp)-3);[aa,freqind]=min(yy);(freqind-SPL/2)*fs/SPLt ()a x t ()()15000s a f x t x n =以样本秒采样得到。
()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本得到。
()()11j x n X e ω画出及其频谱○2 clc;fs=1000;ts=1/fs;N=1000;t=(-N:N)*ts;s=exp(-abs(t));plot(t,s,'linewidth',1.5)xlabel('时间')ylabel('幅度')set(gca,'fontweight','b','fontsize',12) SPL=N*100;figuresp=fftshift(fft(s,SPL));sp=sp/max(sp)*100;freqb=-fs/2:fs/SPL:fs/2-fs/SPL;plot(freqb,abs(sp))xlabel('频率')ylabel('频谱幅度')set(gca,'fontweight','b','fontsize',12)yy=abs(abs(sp)-3);[aa,freqind]=min(yy);(freqind-SPL/2)*fs/SPL实验三:设,,编写MATLAB 程序,计算:(1) 5点圆周卷积;(2) 6点圆周卷积;(3) 线性卷积;(4) 画出的,和时间轴对齐。
数字信号处理实验报告(西电)
数字信号处理实验报告班级:****姓名:郭**学号:*****联系方式:*****西安电子科技大学电子工程学院绪论数字信号处理起源于十八世纪的数学,随着信息科学和计算机技术的迅速发展,数字信号处理的理论与应用得到迅速发展,形成一门极其重要的学科。
当今数字信号处理的理论和方法已经得到长足的发展,成为数字化时代的重要支撑,其在各个学科和技术领域中的应用具有悠久的历史,已经渗透到我们生活和工作的各个方面。
数字信号处理相对于模拟信号处理具有许多优点,比如灵活性好,数字信号处理系统的性能取决于系统参数,这些参数很容易修改,并且数字系统可以分时复用,用一套数字系统可以分是处理多路信号;高精度和高稳定性,数字系统的运算字符有足够高的精度,同时数字系统不会随使用环境的变化而变化,尤其使用了超大规模集成的DSP 芯片,简化了设备,更提高了系统稳定性和可靠性;便于开发和升级,由于软件可以方便传送,复制和升级,系统的性能可以得到不断地改善;功能强,数字信号处理不仅能够完成一维信号的处理,还可以试下安多维信号的处理;便于大规模集成,数字部件具有高度的规范性,对电路参数要求不严格,容易大规模集成和生产。
数字信号处理用途广泛,对其进行一系列学习与研究也是非常必要的。
本次通过对几个典型的数字信号实例分析来进一步学习和验证数字信号理论基础。
实验一主要是产生常见的信号序列和对数字信号进行简单处理,如三点滑动平均算法、调幅广播(AM )调制高频正弦信号和线性卷积。
实验二则是通过编程算法来了解DFT 的运算原理以及了解快速傅里叶变换FFT 的方法。
实验三是应用IRR 和FIR 滤波器对实际音频信号进行处理。
实验一●实验目的加深对序列基本知识的掌握理解●实验原理与方法1.几种常见的典型序列:0()1,00,0(){()()(),()sin()j n n n n u n x n Aex n a u n a x n A n σωωϕ+≥<====+单位阶跃序列:复指数序列:实指数序列:为实数 正弦序列:2.序列运算的应用:数字信号处理中经常需要将被加性噪声污染的信号中移除噪声,假定信号 s(n)被噪声d(n)所污染,得到了一个含噪声的信号()()()x n s n d n =+。
西电DSP设计实验报告
dsp系统设计上机实验报告: 021115xx02111xxx班级姓名:学号:实验一: visual dsp++的使用入门1.实验目的熟悉visual dsp++的开发环境。
针对adsp-21065l sharc dsp,利用几个用c、c++和汇编语言写成的简单例子来描述 visual dsp+十编程环境和调试器(debugger)的主要特征和功能.2.实验内容本次实验包含四个:1)练习一:启动visual dsp++,建立一个用c源代码的工程(project),同时用调试器来评估用c 语言所编写代码的性能;2)练习二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;3)练习三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形;4)练习四:利用调试器的性能统计功能(statistical profile来检查练习三中卷积算法的效率。
利用所收集到的性能统计数据就能看出算法中最耗时的地方。
3.实验步骤练习一:步骤 l.进入visual dsp+十并打开一个工程步骤2编译 dotprodc工程步骤3 运行vsualdsp++调试器步骤 4 运行dotprod.c步骤5 评估函数 a_doc_c 的性能(profile)练习二步骤1创建一个新的工程(project)步骤 2 向dot_product工程中添加文件步骤 3 修改工程源文件步骤 4 修改链接描述文件dotprodasm.ldf步骤 5 编译和运行dot_product步骤6 评估a_dot_asm的效率练习三步骤1.将算法程序调入debugger环境步骤2.打开绘图窗口并设定参数步骤3.运行程序并在图形窗口中观察数据练习四步骤1.调用convolution程序步骤2.打开统计特性选项步骤3.收集和检查统计特性数据4.实验要求:练习一:记录profile 窗口中的程序执行时间数据,分析程序的执行时间练习二:记录profile 窗口中的程序执行时间数据,将结果与练习一进行比较练习四:记录statistical profiling results 窗口中的数据,分析耗时最多的程序段,并且说明原因5.实验结果:6.实验结果分析:分析实验一和实验二的实验结果,发现对于完成同一种功能,相对于c语言,汇编语言运算效率更高。
西电数字信号处理上机实验报告
数字信号处理上机实验报告14020710021 张吉凯第一次上机实验一:设给定模拟信号()1000t a x t e -=,t 的单位是ms 。
(1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。
(2) 用两个不同的采样频率对给定的()a x t 进行采样。
○1()()15000s a f x t x n =以样本秒采样得到。
()()11j x n X e ω画出及其频谱。
○2()()11000s a f x t x n =以样本秒采样得到。
()()11j x n X e ω画出及其频谱。
比较两种采样率下的信号频谱,并解释。
(1)MATLAB 程序:N=10; Fs=5; Ts=1/Fs;n=[-N:Ts:N];xn=exp(-abs(n)); w=-4*pi:0.01:4*pi;X=xn*exp(-j*(n'*w));subplot(211)plot(n,xn);title('x_a(t)时域波形');xlabel('t/ms');ylabel('x_a(t)');axis([-10, 10, 0, 1]);subplot(212);plot(w/pi,abs(X));title('x_a(t)频谱图');xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))'); ind = find(X >=0.03*max(X))*0.01;eband = (max(ind) -min(ind));fprintf('等效带宽为%fKHZ\n',eband);运行结果:等效带宽为12.110000KHZ(2)MATLAB程序:N=10;omega=-3*pi:0.01:3*pi;%Fs=5000Fs=5;Ts=1/Fs;n=-N:Ts:N;xn=exp(-abs(n));X=xn*exp(-j*(n'*omega));subplot(2,2,1);stem(n,xn);grid on;axis([-10, 10, 0, 1.25]); title('时域波形(f_s=5000)');xlabel('n');ylabel('x_1(n)');subplot(2,2,2);plot(omega/pi,abs(X));title('频谱图(f_s=5000)');xlabel('\omega/\pi');ylabel('X_1(f)');grid on;%Fs=1000Fs=1;Ts=1/Fs;n=-N:Ts:N;xn=exp(-abs(n));X=xn*exp(-j*(n'*omega));subplot(2,2,3);stem(n,xn);grid on;axis([-10, 10, 0, 1.25]); title('时域波形(f_s=1000)');xlabel('n');ylabel('x_2(n)');grid on; subplot(2,2,4); plot(omega/pi,abs(X)); title('频谱图(f_s=1000)'); xlabel('\omega/\pi'); ylabel('X_2(f)'); grid on;运行结果:实验二:给定一指数型衰减信号()()0cos 2at x t e f t π-=,采样率1s f T=,T 为采样周期。
2017年西电电院数字信号处理上机实验报告六
实验六、FIR数字滤波器设计及其网络结构班级:学号:姓名:成绩:1实验目的(1)熟悉线性相位FIR数字滤波器的时域特点、频域特点和零极点分布;(2)掌握线性相位FIR数字滤波器的窗函数设计法和频率采样设计法;(3)了解IIR数字滤波器和FIR数字滤波器的优缺点及其适用场合。
2 实验内容(1)设计计算机程序.根据滤波器的主要技术指标设计线性相位FIR数字低通、高通、带通和带阻滤波器;(2)绘制滤波器的幅频特性和相频特性曲线.验证滤波器的设计结果是否达到设计指标要求;(3)画出线性相位FIR数字滤波器的网络结构信号流图。
3实验步骤(1)设计相应的四种滤波器的MATLAB程序;(2)画出幅频相频特性曲线;(3)画出信号流图。
4 程序设计%% FIR低通f=[0.2,0.35];m=[1,0];Rp=1;Rs=40;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+2;hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR高通f=[0.7,0.9];m=[0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带通f=[0.2,0.35,0.65,0.8];m=[0,1,0];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+3hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带阻f=[0.2,0.35,0.65,0.8];m=[1,0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') 5实验结果及分析(1)FIR低通滤波器自动得到的M值不满足要求.故我们将M加上2 在w=0.2π时.H=-0.5dB;w=0.35π时.H=-41dB。
数字信号处理2实验报告一西交大殷
数字信号处理II实验报告实验题目:维纳滤波器的计算机实现姓名:学号:班级:专业:一、实验目的1.利用计算机编程实现加性噪声信号的维纳滤波。
2.将计算机模拟实验结果与理论分析结果相比较,分析影响维纳滤波效果的各种因素,从而加深对维纳滤波的理解。
3.利用维纳一步纯预测方法实现对信号生成模型的参数估计。
二、实验原理维纳滤波是一种从噪声背景中提取信号的最佳线性滤波方法,假定一个随机信号x(n)具有以下形式:(n)s(n)v(n)x =+ 1-1其中,s(n)为有用信号,v(n)为噪声干扰,将其输入一个单位脉冲响应为h(n)的线性系统,其输出为(n)(m)x(n m)y h ∞-∞=-∑ 1-2 我们希望x(n)通过这个系统后得到的y(n)尽可能接近于s(n),因此,称y(n)为信号s(n)的估值。
按照最小均方误差准则,h(n)应满足下面的正则方程:(k)(m)(k m)xs xx h φφ∞-∞=-∑ 1-3 这就是著名的维纳-霍夫方程,其中是 (m)xx φ是x(n)的自相关函数,()xs m φ是 x(n)和s(n)是的互相关函数。
在要求 h(n)满足因果性的条件下,求解维纳-霍夫方程是一个典型的难题。
虽然目前有几种求解 h(n)的解析方法,但它们在计算机上实现起来非常困难。
因此,本实验中,利用近似方法,即最佳 FIR 维纳滤波方法,在计算机上实现随机信号的维纳滤波。
设 h(n)为一因果序列,其长度为 N ,则(n)(m)x(n m)y h ∞-∞=-∑ 1-4 同样利用最小均方误差准则,h(n)满足下面方程:xx xs R h r = 1-5 其中 [](0),h(1),,h(N 1)T h h =-(0)(1)(N 1)(0)xx xx xx xx xx N R φφφφ-+⎛⎫⎪= ⎪ ⎪-⎝⎭[](0)(N 1)T xs xs xs r φφ=- 当xx R 为满秩矩阵时,1xx xs h R r -= 1-6 由此可见,利用有限长的 h(n)实现维纳滤波器,只要已知xx R 和xs r ,就可以按上式解得满足因果性的 h 。
西电DSP实验报告
西安电子科技大学数字信号处理(DSP)课程实验报告实验名称 VISUAL DSP++的使用入门电子工程学院 1402071 班同作者崔健孟智超杨伟祺实验日期 2017 年 5 月 16 日实验一:VISUAL DSP++的使用入门一、实验目的:熟悉VISUAL DSP++的开发环境二、实验内容:练习一:启动Visual DSP++,建立一个用C源代码的工程(Project),同时用调试器来评估用C语言所编写代码的性能;练习二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;练习三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的多个数据的波形;练习四:利用调试器的性能统计功能(Statistical profile)来检查练习三中卷积算法的效率。
利用所收集到的性能统计数据就能看出算法中最耗时的地方。
三、实验步骤及实验结果:练习一:1)新建工程进入 Visual DSP++,显示Visual DSP++的集成开发和调试环境窗口,选择菜单File 中Open 打开文件:…\unit_1\dot_product_c \dotprodc.dpj。
2)编译 dotprodc工程在菜单 Project中选择 Build Project来对工程进行编译。
在本例子中,编译器会检测到一个未定义的错误,显示为:“.\dotprod_main.c”,line 115:error #20:identifier“itn”is undefined itn i;将该错误改正后,保存并重新编译,没有错误出现,编译成功。
3)运行VsualDSP++调试器在编译完成后,环境将自动进入调试状态,对于初次进入debugger,将显示对象选择对话框,在其中指定对象和处理器信息。
4)运行dotprod.c从 Debug菜单中选择 Run项,程序将被执行,其输出结果在 Output window中显示。
西电数字信号处理上机实验
实验一1-1、a=[-2 0 1 -1 3];b=[1 2 0 -1];c=conv(a,b);M=length(c)-1;n=0:1:M;stem(n,c);xlabel('n');ylabel('幅度');title('离散卷积’);1-2、N=41;a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6];x=[1 zeros(1,N-1)];k=0:1:N-1;y=filter(a,b,x);stem(k,y)xlabel('n');ylabel('幅度'); title('差分方程');1-3、k=256;num=[0.8 -0.44 0.36 0.02];den=[1 0.7 -0.45 -0.6];w=0:pi/k:pi;h=freqz(num,den,w);subplot(2,2,1);plot(w/pi,real(h));gridtitle('实部');xlabel('\omega/\pi');ylabel('幅度'); subplot(2,2,2);plot(w/pi,imag(h));gridtitle('虚部');xlabel('\omega/\pi');ylabel('Amplitude'); subplot(2,2,3);plot(w/pi,abs(h));gridtitle('幅度谱');xlabel('\omega/\pi');ylabel('幅值'); subplot(2,2,4);plot(w/pi,angle(h));gridtitle('相位谱');xlabel('\omega/\pi');ylabel('弧度');实验二2-1、N=16;n=0:1:15;p=8;q=4;a=0.1;f=0.0625;xa=exp(-((n-p).^2)./q);figure(1)stem(n, xa,'.');title('xa(n)序列')xlabel('n')ylabel('xa(n)')grid on[H, w] = freqz(xa, 1, [], 'whole', 1); Hamplitude = abs(H);Hphase = angle(H);Hphase = unwrap(Hphase);figure(2)subplot(2, 1, 1)plot(w, Hamplitude)title('幅频响应')xlabel('w/(2*pi)')ylabel('|H(exp(jw))|') grid onsubplot(2, 1, 2)plot(w, Hphase)title('相频响应')xlabel('w/(2*pi)')ylabel('fai(H(exp(jw)))') grid on2-2、n=0:1:15;a=0.1;f1=0.0625;f2=0.04375;f3=0.05625;xb1=exp(-a*n).*sin(2*pi*f1*n);figuresubplot(3,2,1)stem(n, xb1,'.');title('f=0.0625的时域特性')xlabel('n')ylabel('xb1(n)')grid on[H, w] = freqz(xb1, 1, [], 'whole', 1); Hamplitude = abs(H);subplot(3,2,2)plot(w, Hamplitude)title('f=0.0625的幅频响应')xlabel('w/(2*pi)')ylabel('|H(exp(jw))|')grid onxb2=exp(-a*n).*sin(2*pi*f2*n);subplot(3,2,3)stem(n, xb2,'.');title('f=0.04375的时域特性')xlabel('n')ylabel('xb2(n)')grid on[H, w] = freqz(xb2, 1, [], 'whole', 1); Hamplitude = abs(H);subplot(3,2,4)plot(w, Hamplitude)title('f=0.04375的幅频响应')xlabel('w/(2*pi)')ylabel('|H(exp(jw))|')grid onxb3=exp(-a*n).*sin(2*pi*f3*n);subplot(3,2,5)stem(n, xb3,'.');title('f=0.05625的时域特性')xlabel('n')ylabel('xb3(n)')grid on[H, w] = freqz(xb3, 1, [], 'whole', 1); Hamplitude = abs(H);subplot(3,2,6)plot(w, Hamplitude)title('f=0.05625的幅频响应')xlabel('w/(2*pi)')ylabel('|H(exp(jw))|')grid on2-3、n1=0:1:3;xc1=n1+1;n2=4:7;xc2=8-n2;xc=[xc1,xc2];n =[n1,n2];figurestem(n,xc);xlabel('n'); ylabel('xc');title('三角序列');n1=0:1:3;xd1=4-n1;n2=4:7;xd2=n2-3;xd=[xd1,xd2];n =[n1,n2];figurestem(n,xd);xlabel('n'); ylabel('xd');title('反三角序列');N = 16;[H1,w1] = freqz(xc,1, 256, 'whole', 1); Hamplitude1 = abs(H1);figureplot(2*w1, Hamplitude1)title('xc幅频响应')xlabel('w/pi')ylabel('|H(exp(jw))|')grid on[H2,w2] = freqz(xd,1, 256, 'whole', 1); Hamplitude2 = abs(H2);figureplot(2*w2, Hamplitude2)title('xd幅频响应')xlabel('w/pi')ylabel('|H(exp(jw))|')grid on[H3, w3] = freqz(xc, 1, N, 'whole', 1); Hamplitude3 = abs(H3);figuresubplot(2, 1, 1)h3 = stem(2*w3, Hamplitude3, '*');title('xc幅频响应进行N点FFT’);xlabel('n')ylabel('|H(exp(jw))|')grid on[H4, w4] = freqz(xd, 1, N, 'whole', 1); Hamplitude4 = abs(H4);subplot(2, 1, 2)h4 = stem(2*w4, Hamplitude4, '*');title('xd幅频响应进行N点FFT');xlabel('n')ylabel('|H(exp(jw))|')grid on2-4、N = 128;f1 = 1/16;n = 0:N-1;xn = sin(2*pi*0.125.*n)+ cos(2*pi*(0.125+f1).*n); figurestem(n,xn);figuresubplot(2,1,1),plot(n,abs(fft(xn)));title('f =1/16 幅频响应');f2 = 1/64;xn = sin(2*pi*0.125.*n)+ cos(2*pi*(0.125+f2).*n); subplot(2,1,2),plot(n,abs(fft(xn)));title('f =1/64 幅频响应');2-5、N=16;n=0:1:15;p=8;q=2;a=0.1;f=0.0625;xa=exp(-((n-p).^2)./q);xb=exp(-a*n).*sin(2*pi*f*n);%线性卷积x=conv(xa,xb);XDft= fft(x, 32);XDftR = abs(XDft);XDftPhase = angle(XDft);XDftPhase = unwrap(XDftPhase);figure(1);stem(x,'.');title('x(n)序列');xlabel('n')ylabel('x(n)')grid onfigure(2)subplot(2, 1, 1)stem(XDftR, '.');title('X(k)的幅度’);xlabel('k')ylabel('|X(k)|')grid onsubplot(2, 1, 2)stem(XDftPhase, '.');title('X(k)的相角')xlabel('k')ylabel('fai((X(k)))')grid on%圆周卷积XDft161 = fft(xa, N);XDft16R1 = abs(XDft161);XDft16Phase1 = angle(XDft161);XDft16Phase1 = unwrap(XDft16Phase1); XDft162 = fft(xb, N);XDft16R2 = abs(XDft162);XDft16Phase2 = angle(XDft162);XDft16Phase2 = unwrap(XDft16Phase2); XDft16=XDft161.*XDft162;XDft16R=XDft16R1.*XDft16R2;XDft16Phase=XDft16Phase2 +XDft16Phase1 ; x = ifft(XDft16, N);figure(3)stem(x,'.')title('x(n)序列')xlabel('n')ylabel('x(n)')grid onfigure(4)subplot(2, 1, 1)t= 0 : 1 : N - 1;stem(t, XDft16R, '.');title('X(k)的幅度')xlabel('k')ylabel('|X(k)|')grid onsubplot(2, 1, 2)stem(t,XDft16Phase, '.');title('X(k)的相角')xlabel('k')ylabel('fai((X(k)))')grid on2-6、xe=rand(1,512);n1=0:1:3;xc1=n1+1;n2=4:7;xc2=8-n2;xc=[xc1,xc2];%重叠相加法yn=zeros(1,519);for j=0:7xj=xe(64*j+1:64*(j+1));xak=fft(xj,71);xck=fft(xc,71);yn1=ifft(xak.*xck);temp=zeros(1,519);temp(64*j+1:64*j+71)=yn1; yn=yn+temp;end;n=0:518;figure(1)subplot(2,1,1);plot(n,yn);xlabel('n');ylabel('y(n)');title('xc(n)与xe(n)的线性卷积的时域波形-重叠相加法'); subplot(2,1,2);plot(n,abs(fft(yn)));xlabel('k');ylabel('Y(k)');axis([0,600,0,300]);title('xc(n)Óëxe(n)的线性卷积的幅频特性-重叠相加法'); %重叠保留法k=1:7;xe1=k-k;xe_1=[xe1,xe];yn_1=zeros(1,519);for j=0:7xj_1=xe_1(64*j+1:64*j+71);xak_1=fft(xj_1);xck_1=fft(xc,71);yn1_1=ifft(xak_1.*xck_1);temp_1=zeros(1,519);temp_1(64*j+1:64*j+64)=yn1_1(8:71);yn_1=yn_1+temp_1;end;n=0:518;figure(2)subplot(2,1,1);plot(n,yn_1);xlabel('n');ylabel('y(n)');title(' xc(n)的线性卷积的时域波形-重叠保留法'); subplot(2,1,2);plot(n,abs(fft(yn_1)));xlabel('k');ylabel('Y(k)');axis([0,600,0,300]);title('xc(n)Óëxe(n)的线性卷积的幅频特性-重叠保留法');实验三3-1、Wp=0.3;Ws=0.2;Rp=0.8;Rs=20;[N,Wpo]=cheb1ord(Wp,Ws,Rp,Rs);[Bz,Az]=cheby1(N,Rp,Wpo,'high');w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('Chebyshev高通滤波器');3-2、Wp=0.2;Ws=0.3;Rp=1;Rs=25;[N,Wc]=buttord(Wp,Ws,Rp,Rs);[Bs,As]=butter(N,Wc,'s');[Bz,Az]=impinvar(Bs,As);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));subplot(211);plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('脉冲响应不变法')[N,Wc]=buttord(Wp,Ws,Rp,Rs);[Bz,Az]=butter(N,Wc);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));subplot(212);plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('双线性变换法')3-3、Wp=1.2/8;Ws=2/8;Rp=0.5;Rs=40;[N,Wpo]=cheb1ord(Wp,Ws,Rp,Rs);[Bz,Az]=cheby1(N,Rp,Wpo);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));subplot(311);plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('切比雪夫')[N,Wc]=buttord(Wp,Ws,Rp,Rs);[Bz,Az]=butter(N,Wc);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));subplot(312);plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('巴特沃斯')[N,Wpo]=ellipord(Wp,Ws,Rp,Rs);[Bz,Az]=ellip(N,Rp,Rs,Wpo);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));subplot(313);plot(w/pi,H),grid ontitle('椭圆')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB')3-4、Wp1=2/15;Wpu=0.2;Ws1=0.1;Wsu=0.4;Rp=3;Rs=20;Wp=[Wp1,Wpu];Ws=[Ws1,Wsu];[N,Wc]=buttord(Wp,Ws,Rp,Rs);[Bz,Az]=butter(N,Wc);w=0:0.1:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));plot(w/pi,H),grid onxlabel('\omega/\pi');ylabel('|H(e^j^\omega)|/dB') title('双线性变换法Butterworth型数字带通滤波器')。
西电-数字信号处理大作业
数字信号处理上机大作业实验一:信号、系统及系统响应(1) 简述实验目的及实验原理。
1.实验目的●熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
●熟悉时域离散系统的时域特性。
●利用卷积方法观察分析系统的时域特性。
●掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2.实验原理与方法●时域采样。
● LTI系统的输入输出关系。
(2)按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及系统响应序列的时域和幅频特性曲线,并对所得结果进行分析和解释。
Matlab源程序如下:A=1;T1=1/1000;T2=1/300;T3=1/200;a=25*pi;w0=30*pi;n=0:99;x1=A*exp(-a*n*T1).*sin(w0*n*T1);x2=A*exp(-a*n*T2).*sin(w0*n*T2);x3=A*exp(-a*n*T3).*sin(w0*n*T3);m=linspace(-pi,pi,10000);X1=x1*exp(-j*n'*m);%n'与m构造矩阵,xi向量与矩阵每一列相乘对应元素相加,构成DTFT后的矩阵X2=x2*exp(-j*n'*m);X3=x3*exp(-j*n'*m);figure(1);subplot(3,2,1)plot(m/pi,abs(X1));xlabel('\omega/π');ylabel('|H(e^j^\omega)|');title('采样频率为1000Hz时的幅度谱');subplot(3,2,3)plot(m/pi,abs(X2));xlabel('\omega/π');ylabel('|H(e^j^\omega)|');title('采样频率为300Hz时的幅度谱');subplot(3,2,5)plot(m/pi,abs(X3));xlabel('\omega/π');ylabel('|H(e^j^\omega)|');title('采样频率为200Hz时的幅度谱');subplot(3,2,2)plot(n,abs(x1));xlabel('n');ylabel('x1(t)');title('采样频率为1000Hz时的时域波形');subplot(3,2,4)plot(n,abs(x2));xlabel('n');ylabel('x2(t)');title('采样频率为300Hz时的时域波形');subplot(3,2,6)plot(n,abs(x3));xlabel('n');ylabel('x3(t)');title('采样频率为200Hz时的时域波形');波形图如下:-1-0.8-0.6-0.4-0.200.20.40.60.81ω/π|H (e j ω)|采样频率为1000Hz 时的幅度谱ω/π|H (e j ω)|采样频率为300Hz 时的幅度谱ω/π|H (e j ω)|采样频率为200Hz 时的幅度谱102030405060708090100nx 1(t )采样频率为1000Hz 时的时域波形nx 2(t )采样频率为300Hz 时的时域波形nx 3(t )采样频率为200Hz 时的时域波形② 时域离散信号、 系统和系统响应分析。
西安邮电大学《数字信号处理实验》
实验一:信号的表示一、实验目的:1、了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境。
2、掌握各种信号的建模方式。
3、掌握各种信号的图形表示方法。
4、掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计算机模型并进行处理的能力二、实验设备:PC机MATLAB7.0软件三、实验内容学习使用MATLAB7.0软件。
学习信号的图形表示方法,掌握各种信号的建模方式。
实现单位采样序列()nδ、单位阶跃序列()R n、三角波、u n、矩形序列()N方波、锯齿波、Sinc函数。
四、参考实例:常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语具有title、axis、text等。
(1)figure语句figure有两种用法。
当只有一句figure命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。
当采用figure(n)时,表示将第n个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。
如果该图形窗口不存在,则新建一个窗口,并赋以编号n。
(2)plot语句线形绘图函数。
用法为plot(x,y,’s’)。
参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表1-1所示。
表1-1 plot命令的参数及其含义参数含义参数含义参数含义y 黄色 . 点 - 实线m 紫色 o 圆 : 虚线c 青色 x 打叉 -. 点划线r 红色 + 加号 -- 破折线向上三角形g 绿色 * 星号 ^b 蓝色 s 正方形 < 向左三角形向右三角形w 白色 d 菱形 >向下三角形 p 五角星形k 黑色 v• 功能: 序列左右翻转 • 调用格式:Y = FLIPLR(X) • % X = 1 2 3 翻转后 3 2 1 • 4 5 6 6 5 4 • ★ CUMSUM 、SUM • 功能: 计算序列累加 •调用格式:Y = CUMSUM(X) % 向量X 元素累加,记录每一次的累加结果,而SUM 只记录最后的结果五、实验报告(1)实现单位采样序列()n δ、单位阶跃序列()u n 、矩形序列()NR n ,并用图形显示。
2017年西电电院数字信号处理上机实验报告六
实验六、FIR数字滤波器设计及其网络结构班级:学号:姓名:成绩:1实验目的(1)熟悉线性相位FIR数字滤波器的时域特点、频域特点和零极点分布;(2)掌握线性相位FIR数字滤波器的窗函数设计法和频率采样设计法;(3)了解IIR数字滤波器和FIR数字滤波器的优缺点及其适用场合。
2 实验内容(1)设计计算机程序,根据滤波器的主要技术指标设计线性相位FIR数字低通、高通、带通和带阻滤波器;(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求;(3)画出线性相位FIR数字滤波器的网络结构信号流图。
3实验步骤(1)设计相应的四种滤波器的MATLAB程序;(2)画出幅频相频特性曲线;(3)画出信号流图。
4 程序设计%% FIR低通f=[0.2,0.35];m=[1,0];Rp=1;Rs=40;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+2;hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR高通f=[0.7,0.9];m=[0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带通f=[0.2,0.35,0.65,0.8];m=[0,1,0];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+3hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带阻f=[0.2,0.35,0.65,0.8];m=[1,0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));gridon;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') 5实验结果及分析(1)FIR低通滤波器自动得到的M值不满足要求,故我们将M加上2 在w=0.2π时,H=-0.5dB;w=0.35π时,H=-41dB。
2017年西电电院数字信号处理上机实验报告三
实验三、信号的频域与Z域分析班级:学号::成绩:1实验目的〔1〕理解序列离散傅里叶变换〔DTFT〕的定义,熟悉序列DTFT的计算及其主要性质;〔2〕掌握Z变换的计算和主要性质,熟悉Z变换的收敛域及其与序列特性的关系,以及Z变换与DTFT的关系;〔3〕掌握时域离散线性时不变系统的频域分析方法,深刻理解系统的频率响应。
了解系统的稳态响应和暂态响应、相位延迟和群延迟等概念;〔4〕掌握时域离散线性时不变系统的z域分析方法,深刻理解离散系统的系统函数及其零极点分布,熟悉零极点分布与系统的因果性和稳定性关系、零极点分布对系统频率特性的影响、差分方程的Z变换解法等;2 实验内容(1)设计电脑程序,产生序列并计算序列的DTFT,绘制其幅频特性和相频特性曲线;(2)根据系统的单位脉冲响应和差分方程,计算系统的频率响应,绘制系统频率响应的幅频特性和相频特性曲线;(3)根据系统的单位脉冲响应和差分方程,计算系统的系统函数、零极点分布;改变系统的零极点分布,观察系统频率响应的变化。
3实验步骤〔1〕设计有限长序列Rn;计算序列的DTFT,绘制幅频特性和相频特性曲线〔2〕改变系统的系统函数的零点分布,绘制系统改变前和改变后的频率响应的幅频特性和相频特性曲线4 程序设计x=[1,1,1,1];nx=[0:3];%x(n)=R(n)w=linspace(-2.8*pi,2.8*pi,100000);%取100000个点X=x*exp(-j*nx'*w);%DTFTfigure(1);subplot(3,2,1),plot(w/pi,abs(X));xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|') subplot(3,2,2),plot(w/pi,angle(X));xlabel('\omega/\pi');ylabel('\phi(\omega)/\pi') %差分方程求解a=[1,-0.4];b=[1];[H,w]=freqz(b,a,'whole');subplot(3,2,3),plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|') subplot(3,2,4),plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('\phi(\omega)/\pi') %零极点分布a=[1,-1.6,0.9425];%分母b1=[1,-0.3];b2=[1,-0.8];%分子[F,w]=freqz(b1,a,'whole');figure(2);subplot(2,2,1),zplane(b1,a);%零极点分布图subplot(2,2,3),plot(w/pi,abs(F));xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|') subplot(2,2,4),plot(w/pi,angle(F));xlabel('\omega/\pi');ylabel('\phi(\omega)/\pi') figure(3);%改变零极点分布,观察频率响应变化[F,w]=freqz(b2,a,'whole');subplot(2,2,1),zplane(b2,a);subplot(2,2,3),plot(w/pi,abs(F));xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|') subplot(2,2,4),plot(w/pi,angle(F));xlabel('\omega/\pi');ylabel('\phi(\omega)/\pi')5实验结果及分析零点改变前系统频率响应:零点改变后系统频率响应:分析:通过图像可以明显看出改变系统的零点可以改变谷深和谷底位置,改变极点可以改变峰值的位置和峰的尖锐程度6总结通过本次实验深刻理解离散信号与系统的时域性质和分析方法,熟练掌握利用MATLAB 工具时域分析离散信号和系统的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理设计实验报告一、实验目的通过实验学会设计IIR和FIR数字滤波器分离多个信号,并用matlab实现。
二、实验内容用数字信号处理技术实现两个时域重叠信号的分离,及相位检波,设计分离和检波的方法,编写计算机程序,模拟信号处理过程,绘出时域和频域的处理结果。
)(1n s)(n a)()()(21t s t s t s += )(s n)(s 2n)(n b 三、程序设计模拟信号的时域波形,频谱Fs=40000;t=0:1/Fs:4;s1=cos(2*pi*30*t).*cos(2*pi*100*t);s2=cos(2*pi*70*t).*cos(2*pi*700*t);st=s1+s2;S1=abs(fftshift(fft(s1)))/80000;S2=abs(fftshift(fft(s2)))/80000;ST=abs(fftshift(fft(st)))/80000;F = (-80000:80000)*0.25figure(1)subpl ot(321);pl ot(t,s1);titl e('s1时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.1 -1 1])subpl ot(322);pl ot(F,S1);titl e('s1频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subpl ot(323);采样 滤波器滤波器滤波器2滤波器4pl ot(t,s2);titl e('s2时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subpl ot(324);pl ot(F,S2);titl e('s2频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subpl ot(325);pl ot(t,st);titl e('st时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subpl ot(326);pl ot(F,ST);titl e('st频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])采样信号的时域波形,频谱Fs1=4000;t1=0:1/Fs1:4; N = 0:l ength(t1)-1s1n=cos(2*pi*30*N/Fs1).*cos(2*pi*100*N/Fs1); s2n=cos(2*pi*70*N/Fs1).*cos(2*pi*700*N/Fs1); sn=s1n+s2n;S1N=abs(fftshift(fft(s1n)))/8000;S2N=abs(fftshift(fft(s2n)))/8000;SN=abs(fftshift(fft(sn)))/8000;F1 = (-8000:8000)*0.25figure(2)subpl ot(321);stem(t1,s1n);titl e('s1n时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.05 -1 1])subpl ot(322);pl ot(F1,S1N);titl e('S1N频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subpl ot(323);stem(t1,s2n);titl e('s2n时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.025 -1 1])subpl ot(324);pl ot(F1,S2N);titl e('S2N频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])subpl ot(325);stem(t1,sn);titl e('sn时域波形');xlabel('时间t');ylabel('幅度');grid on;axis([0 0.025 -1 1])subpl ot(326);pl ot(F1,SN);titl e('SN频谱');xlabel('频率F');ylabel('幅值');grid on;axis([-1000 1000 0 1])通过前级滤波器的波形fp1 = 300;fs1 = 400;Rp = 1;Rs=40Wp1=2*fp1/Fs1;Ws1=2*fs1/Fs1; %%滤波器1[M1,Wc1]=buttord(Wp1,Ws1,Rp,Rs);[Bz1,Az1]=butter(M1,Wc1,'low');fp2 = 500;fs2 = 400;Rp = 1;Rs=40Wp2=2*fp2/Fs1;Ws2=2*fs2/Fs1; %%滤波器2[M2,Wc2]=buttord(Wp2,Ws2,Rp,Rs);[Bz2,Az2]=butter(M2,Wc2,'high');s3=filter(Bz1,Az1,sn); %信号通过低通滤波器S3=abs(fftshift(fft(s3)))/8000; %%还原真实幅值,由于是N个点的叠加s4=filter(Bz2,Az2,sn); %信号通过高通滤波器S4=abs(fftshift(fft(s4)))/8000; %%还原真实幅值,由于是N个点的叠加figure(3)subpl ot(221);pl ot(t1,s3);titl e('通过前级低通滤波器1信号时域波形');xlabel('时间t');ylabel('幅值');grid onaxis([0 0.1 -1 1])subpl ot(222);pl ot(F1,S3);titl e('通过前级低通滤波器1信号频谱图');xlabel('频率f');ylabel('幅值');grid on;axis([-1000 1000 0 1])subpl ot(223);pl ot(t1,s4);titl e('通过前级高通滤波器1信号时域波形');xlabel('时间t');ylabel('幅值');grid onaxis([0 0.1 -1 1])subpl ot(224);pl ot(F1,S4);titl e('通过前级高通滤波器1信号频谱图');xlabel('频率f');ylabel('幅值A');grid on;axis([-1000 1000 0 1])后级检波滤波输出L1=cos(2*pi*100*N/Fs1);L2=cos(2*pi*700*N/Fs1); %本振信号x1=L1.*s3;x2=L2.*s4;fp3 = 50;fs3 =90;Wp3=2*fp3/Fs1;Ws3=2*fs3/Fs1;Rp=1;Rs=40; %%后级滤波器LPF1 [M3,Wc3]=buttord(Wp3,Ws3,Rp,Rs);[Bz3,Az3]=butter(M3,Wc3,'low');y1=filter(Bz3,Az3,x1); %信号通过低通滤波器Y1=abs(fftshift(fft(y1)))/8000;fp4 = 200;fs4 =300;Wp4=2*fp4/Fs1;Ws4=2*fs4/Fs1;Rp=1;Rs=40; %%后级滤波器LPF2 [M4,Wc4]=buttord(Wp4,Ws4,Rp,Rs);[Bz4,Az4]=butter(M4,Wc4,'low');y2=filter(Bz4,Az4,x2); %信号通过低通滤波器Y2=abs(fftshift(fft(y2)))/8000;figure(4)subpl ot(221);pl ot(t1,y1);titl e('通过后级低通滤波器1信号时域波形');xlabel('时间t');ylabel('幅值');grid on;axis([0.1 0.6 -1 1])subpl ot(222);pl ot(F1,Y1);titl e('通过后级低通滤波器1信号频谱图');xlabel('频率f');ylabel('幅值A');grid on;axis([-100 100 0 0.5])subpl ot(223);pl ot(t1,y2);titl e('通过后级低通滤波器2信号时域波形');xlabel('时间t');ylabel('幅值');grid on;axis([0.1 0.6 -1 1])subpl ot(224);pl ot(F1,Y2);titl e('通过后级低通滤波器2信号频谱图');xlabel('频率f');ylabel('幅值A');grid on;axis([-100 100 0 0.5])四、实验结果及分析由上图可知,s1(t)的频谱分量分布在70hz、130hz、-70hz、-130hz处,s2(t)的频谱分量在630hz、770hz、-630hz、-770hz 处,而s(t)的频谱是s1(t)、s2(t)的叠加。
上图是s1(t)、s2(t)、s(t)采样后信号的时域频域波形图。
S(t)通过前级低通滤波器后,低频分量被滤出,即分离出了s1(t);S(t)通过前级高通滤波器后,高频分量被滤出,即分离出了s2(t)。