数字信号处理实验报告.docx
《数字信号处理实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
![数字信号处理实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/11/3d469486-b106-400f-99db-6962f2f84bd4/3d469486-b106-400f-99db-6962f2f84bd41.gif)
数字信号处理实验报告
实验四时间抽样定理
一实验内容:
给定连续时间信号
1.以足够小的时间间隔,在足够长的时间内画出信号时域图形。
2.用公式计算信号的频谱
。
以足够小的频率间隔,在足够大的频率范围内,画出其频谱图,估计信号的带宽。
3.以抽样频率3000Hz对x(t)抽样,得到离散时间信号x(n),画出其图形,标明坐标轴。
1)用DFT计算x(n)的频谱
,画出频谱图形,标明坐标轴。
2)由1)得到原信号x(t)的频谱的估计
,在模拟频域上考察对原信号频的逼近程度,计算均方误差。
3)x(n)理想内插后得到原信号的估计,从连续时间域上考察信号的恢复程度,计算均方误差。
4.抽样频率为800samples/second,重做3。
5.对比和分析,验证时域抽样定理。
二编程原理、思路和公式:
1.因为指数的系数较大,所以所取的时间间隔应当足够小t=-0.01:
0.00001:
0.01;然后表示出信号x(t)x=exp(-1000*abs(t));调用plot函数画出模拟的信号图形。
2.x(t)的频谱
首先要考虑角频率的取值范围,选取w=-10^4:
10^4;然后根据公式写出频谱的表达式X=2000/(1000^2+W.^2);然后调用plot函数画出w和X的图形。
3.以抽样频率3000Hz对x(t)抽样,所以抽样的时间间隔为T=1/3000;离散化以后的时域为t=-0.01:
1/3000:
0.01;然后表示出离散序列xn=exp(-1000*abs(t));调用stem(t,xn);画出离散序列图形。
4.先调用子函数dtftfunctionDTFT(xn,N,M);然后根据上一个程序表示出xn。
再求出离散后的角频率w:
给定长度为N的序列x(n)的离散时间傅里叶变换(DTFT)的公式为
。
可以看出x(n)的DTFT仍然是一个连续函数,所以需要将数字角频域w离散化,设一个频率周期内离散点有M个,则第k个点所代表的数字角频率
。
这样x(n)的DTFT变成:
。
所以表示出来Xw=xn*exp(-j*(t'*w))。
最后调用plot函数画出幅频响应和相频响应。
5.将
(1)中求出的原信号x(t)的频谱的估计
与2中求出的x(t)的真实频谱在相同的频率点处的值做均方误差。
计算时,均方误差是指两者对应点之差的平方和的平均值的平方根。
原信号x(t)的频谱的估计为
,因为
关于
对称,所以应当取w的有效部分
。
信号的重建(理想内插公式):
其中x(mT)是某一个抽样值,t是任意的一个时刻。
它表示重建信号的任意时刻的函数值是所有抽样值与该时刻插值函数的乘积的总和。
求出原信号的估计y(t)后,就可以求出均方误差,从而可以从连续时间域上考察信号的恢复程度。
6.将抽样频率3000HZ换成800HZ重做。
.
三、程序脚本,并注释:
1.t=-0.01:
0.00001:
0.01;%取t的取值范围
x=exp(-1000*abs(t));%表示出信号x
plot(t,abs(x));%画出信号波形
xlabel('t');ylabel('x');title('原信号x');grid;
2.w=-10^4:
10^4;%规定模拟角频率w的取值范围
X=2000./(1000^2+w.^2);%信号的频谱
figure;
plot(w,X);
grid;
xlabel('t');
title('频谱');
3.T=1/3000;%抽样时间间隔
t=-0.01:
1/3000:
0.01;%规定时间t取值范围
xn=exp(-1000*abs(t));%离散后的序列xn
stem(t,xn);
xlabel('t');ylabel('xn');title('离散信号xn');grid;
4.functionDTFT(xn,N,M);
t=-0.01:
1/3000:
0.01;
xn=exp(-1000*abs(t));
M=500;
k=-M:
M;
w=2*pi*1000/M*k;
Xw=xn*exp(-j*(t'*w));
subplot(1,2,1);plot(w,abs(Xw));grid;
xlabel('wrad/s');ylabel('幅度abs');title('幅频特性');
subplot(1,2,2);plot(w,phase(Xw));grid;
xlabel('wrad/s');ylabel('相位phase');title('相频特性');
5.fs=3000;%抽样频率
T=1/fs;
t=-0.01:
T:
0.01;%规定t的取值范围
xn=exp(-1000*abs(t));%离散系列xn
subplot(1,2,1);stem(t,xn);title('采样信号');
y=-0.01:
0.001:
0.01;
n=-0.01/T:
0.01/T;
M=ones(length(n),1)*y-n'*T*ones(1,length(y));
fs=xn*sinc(fs*M);
%把不是0的地方用sinc函数来计算,隐含着为零的那一个是为1的.
subplot(1,2,2);plot(y,fs,'r');title('采样信号');
t=-0.01:
0.00001:
0.01;
N=length(t);%t的长度
i=1;%设置一个累加变量
fortn=t
y(i)=x_n*(sin(pi/T*(tn-n*T)+eps)./(pi/T*(tn-n*T)+eps))';%内插重建t的数值
i=i+1;
end
figure,plot(t,y);%画出时域内插重建函数,内插恢复
xlabel('时间t');xlabel('内插函数值y');title('3000Hz时域内插重建函数');
x=exp(-1000*abs(t));%原信号
diff=sqrt(sum((x-y).^2)/N);%均方误差
6,将频率改为800HZ重做
T=1/800;
f=-0.01:
1/800:
0.01;
xn=exp(-1000*abs(f));
stem(xn);
xlabel('fHZ');ylabel('xn');title('离散信号xn');grid;
7..functionDTFT(xn,N,M);
t=-0.01:
1/800:
0.01;
xn=exp(-1000*abs(t));
M=500;
k=-M:
M;
w=2*pi*1000/M*k;
Xw=xn*exp(-j*(t'*w));
subplot(1,2,1);plot(w,abs(Xw));
xlabel('wrad/s');ylabel('幅度abs');title('幅频特性');grid;
subplot(1,2,2);plot(w,phase(Xw));
xlabel('wrad/s');ylabel('相位phase');title('相频特性');grid;
8.fs=800;
T=1/fs;
t=-0.01:
T:
0.01;
xn=exp(-1000*abs(t));
subplot(1,2,1);
stem(t,xn);title('采样信号');
y=-0.01:
0.001:
0.01;
n=-0.01/T:
0.01/T;
M=ones(length(n),1)*y-n'*T*ones(1,length(y));
fs=xn*sinc(fs*M);
subplot(1,2,2);plot(y,fs,'r');
title('重建信号');
t=-0.01:
0.00001:
0.01;
N=length(t);
i=1;
fortn=t
y(i)=x_n*(sin(pi/T*(tn-n*T)+eps)./(pi/T*(tn-n*T)+eps))';
i=i+1;
end
figure,plot(t,y);
xlabel('时间t');xlabel('内插函数值y');title('800Hz时域内插函数值');
x=exp(-1000*abs(t));
diff=sqrt(sum((x-y).^2)/N);
四.仿真结果、图形:
1.
2.
3.抽样频率为3000HZ时
4.抽样频率为3000HZ时
5抽样频率3000hz
.
6,.抽样频率为800HZ时
.
7.抽样频率为800HZ时
8.抽样频率800HZ
五、结果分析和结论
(1)3000Hz抽样时模拟频域上频谱的估计与真实频谱的均方误差比800Hz抽样时小,3000Hz连续时域上信号的估计与真实信号的均方误差也较小。
(2)从实验的结果可以看出3000Hz抽样时抽样信号更能够反映原来真实的信号。
800Hz由于抽样频率较小,所得结果有些失真。
(3)从抽样后频谱图可以看出3000Hz时比800Hz时的频谱更接近真实频谱;从内插重建信号图形中也可以看出3000Hz时复原的信号也更接近真实信号。
六、遇到的问题、解决方法及收获
(1)时间t的取值区间必须足够小,并且时间间隔足够小才能得出信号波形,当间隔较大时看不到波形。
(2)模拟信号的角频率的取值范围很难选取,因为信号指数系数较大,角频率选择范围不合适时,不能得出函数图形。
(3)DTFT子函数的调用,之前已经练过很多次了,但是还不能熟练掌握,仍须多次调试。
(4)对最后的两个问题内插函数以及函数恢复问题,难度很大,程序有参考同学的部分,仍有部分疑点大家还未解决,希望老师可以再详细讲讲。
(5)本次实验的难度较大,花了较长的时间,但是从实验中验证了一些理论,加深了对理论的理解。