预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数字信号处理实验报告 实验一:信号、系统及系统响应 1、实验目的: 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解. 熟悉时域离散系统的时域特性 利用卷积方法观察分析系统的时域特性. 掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号,离散信号及系统响应进行频域分析. 2、实验原理简述: 对一个连续信号进行理想采样的过程可用下式表示: a(t)=p(t) 其中a(t)为的理想采样,p(t)为周期冲激脉冲,即 p(t)=(t-nT) a(t)的傅立叶变换a(j)为 a(j)= 上式表明a(j)为的周期延拓,其周期延拓为采样角频率().采样前后信号的频谱示意图见图.只有满足采样定理时,才不会发生频率混叠失真. 离散信号和系统在时域均可用序列来表示。为了在数字计算机上观察分析各种序列的频域特性,通常对在上进行M点采样来观察分析。对长度为N的有限长序列x(n)有 其中,M-1 一个时域离散线性非移变系统的输入/输出关系为 y(n)=x(n)*h(n)= 如果x(n)和h(n)的长度分别为M和N,则y(n)的长度为L=N+M-1。 上述卷积运算也可在频域实现 3、实验内容及步骤 首先认真复习采样理论.离散信号与系统.线性卷积.序列的傅立叶变换及性质等有关内容,了解本实验原理与方法. 1>编制实验用主程序及相应子程序. ①信号产生子程序,用于产生实验中要用的下列信号序列: 采样信号序列:对下面连续信号: 进行采样,可得到采样序列 其中A为幅度因子,a为衰减因子,是模拟角频率,T为采样间隔.这些参数都要在实验过程中由键盘输入,产生不同的x(t)和x(n) 单位脉冲序列: 矩形序列: ②系统单位脉冲响应序列产生子程序.本实验要用到两种FIR系统. ③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积.可以直接调用MATLAB语言中的卷积函数conv。conv用于两个给定长度的序列的卷积,它假定两个序列都从n=0开始.调用格式如下: y=conv(x,,h) 其中参数x和y是两个已赋值的行向量序列. functionshiyan11//是实验① A=444.128;a=50*pi*sqrt(2);w=a;K=100;fs=1000;//修改时fs=1000换成300和200 T=1/fs;N=100;n=0:N-1;t=n/fs;n1=[0:49]; x1=ones(1,50); x2=A*exp(-a*n*T).*sin(w*n*T); x=x2(1:50); subplot(3,2,1); stem(n1,x,'.'); xlabel('n');ylabel('Xa(n)');title('n,Xa(n),f=1000');grid k=floor(0:(K/2-0.5)); dw=2*pi/K; y=x*exp(j*dw*n1'*k); mag=abs(y); subplot(3,2,2); stem(n1*dw/pi,mag,'.'); xlabel('w'); ylabel('|X(jw)|'); title('w,|X(jw)|');grid functionshiyan12//实验② n1=[0:9];n=[0:99];K=100;dw=2*pi/K;xb=imseq(0,0,9); hb=imseq(0,0,9)+2.5*imseq(1,0,9)+2.5*imseq(2,0,9)+imseq(3,0,9); yn=conv(xb,hb); yk=freqz(yn,1,100,'whole'); hk=freqz(hb,1,100,'whole'); mag1=abs(yk); mag2=abs(hk); subplot(2,2,1); stem(n1,xb,'.'); xlabel('n1');ylabel('X(n)');title('n1,X(n)');grid subplot(2,2,2); stem(n1,hb,'.'); xlabel('n1'); ylabel('h(n)'); title('n1,h(n)');grid subplot(2,2,3); stem(n*dw/pi,mag1,'.'); xlabel('w'); ylabel('H(ejw)'); title('w,H(ejw)');grid subplot(2,2,4); stem(n*dw/pi,mag2,'.'); xlabel('w'); ylabel('Y(ejw)'); title('w,Y(ejw)');grid function[x,n]=imseq(np,ns,nf) ifns>np|ns>nf|np>nf error('ÊäÈë²ÎÊý²»Âú×ãns<=np<=nf'