数字信号处理实验三文档格式.doc
《数字信号处理实验三文档格式.doc》由会员分享,可在线阅读,更多相关《数字信号处理实验三文档格式.doc(13页珍藏版)》请在冰点文库上搜索。
Q3.17通过加入合适的注释语句和程序语句,修改程序P3.5,对程序生成的图形中的两个轴加标记。
Q3.20通过加入合适的注释语句和程序语句,修改程序P3.6,对程序生成的图形中的两个轴加标记。
试解释程序怎样进行时间反转运算。
Q3.23编写一个MATLAB程序,计算并画出长度为为N的L点离散傅里叶变换X[k]的值,其中L≥N,然后计算并画出L点离散傅里叶逆变换X[k]。
对不同长度N和不同的离散傅里叶变换长度L,运行程序。
讨论你的结果。
Q3.26在函数circshift中,命令rem的作用是什么?
Q3.27解释函数circshift怎样实现圆周移位运算。
Q3.28在函数circconv中,运算符=的作用是什么?
Q3.29解释函数circconv怎样实现圆周卷积运算。
Q3.30通过加入合适的注释语句和程序语句,修改程序P3.7,对程序生成的图形中的两个轴加标记。
哪个参数决定时移量?
若时移量大于序列长度,将会发生什么?
Q3.31运行修改后的程序并验证圆周时移运算。
Q3.32通过加入合适的注释语句和程序语句,修改程序P3.8,对程序生成的图形中的两个轴加标记。
时移量是多少?
Q3.33运行修改后的程序并验证离散傅里叶变换的圆周时移性质。
Q3.36运行程序P3.9并验证离散傅里叶变换的圆周卷积性质。
Q3.38运行程序P3.10并验证线性卷积可通过圆周卷积得到。
Q3.41序列x1[n]和x2[n]之间的关系是什么?
Q3.42运行程序P3.11。
由于周期序列的偶数部分的离散傅里叶变换是原序列的XEF的实数部分,XEF的虚部应该为零。
你能验证它们吗?
你怎样解释仿真结果?
三、实验器材及软件
1.微型计算机1台
2.MATLAB7.0软件
四、实验原理
3.1;
3.2;
3.3;
3.4离散时间傅立叶变换的结果是关于w的连续函数,对于系统函数的离散时间傅立叶变换的求法是,其中,B是f序列傅立叶变换的系数,A是y序列傅立叶变换的系数。
离散时间傅立叶变换的结果是w的周期函数,在(2k+1)π附近为高频,在2kπ附近为低频(k=0,+1,-1,+2,-2。
。
)
3.6离散时间傅立叶变换的时移特性:
3.10离散时间傅立叶变换的频移特性:
3.14;
3.15离散时间傅立叶变换的卷积性质:
3.17离散时间傅立叶变换的调制特性:
3.20离散时间傅立叶变换的反转特性:
3.23在matlab中,fft()函数可以快速的计算有限长序列的离散傅立叶变换,ifft()函数可以快速的计算离散傅立叶逆变换,对于计算中的不同序列长度N,若把时间当作1s,则N相当于采样率Fs,L是傅立叶变换后的序列的长度。
此时,采样点的频率可表示为Fn=(n-1)*Fs/L,当N与L越接近,Fs/L越小,Fn的变化速度越慢,此时相位谱也就相应的变化减慢,因为相位是频率f的一次函数。
3.26;
3.27;
3.28;
3.29圆周移位函数和圆周卷积函数都是在“圆周”上循环的,该圆周的长度就是序列的长度。
3.30;
3.31;
3.32;
3.33圆周时移实际上是把一个序列的后面的点按顺序搬到前面来,
这里与反转和线性时移有着完全的区别。
圆周时移实际上的移动范围不会超过序列长
度值。
圆周时移性质:
若,则,其中,。
3.36;
3.38由实验我们可以知道一个圆周卷积性质:
线性卷积可通过圆周卷积得到。
3.41;
3.42由教材可知:
,即序列的偶部分的傅立叶变换是序列的傅立叶变换的实部。
五、实验步骤
1、进行本实验,首先必须熟悉matlab的运用,所以第一步是学会使用matlab。
2、学习相关基础知识,根据《数字信号处理》课程的学习理解实验内容和目的。
3、在充分熟悉基础知识的情况下进行实验,利用matlab完成各种简单的波形产生和观察,理解各种波形产生的原理和方法。
4、从产生的图形中学习新的知识,掌握实验的目的,充分学习数字信号处理的运用。
5、最后需要思考各种波形的联系和建立完整的知识体系,如整理噪声和原波形之间的叠加关系等。
六、实验记录(数据、图表、波形、程序等)
3.2
w=-4*pi:
8*pi/511:
4*pi;
num=[21];
den=[1-0.6];
h=freqz(num,den,w);
subplot(2,1,1);
plot(w/pi,real(h));
grid;
title('
H(e^{j\omega})的实部'
);
xlabel('
\omega/\pi'
ylabel('
振幅'
subplot(2,1,2);
plot(w/pi,imag(h));
H(e^{j\omega})的虚部'
pause;
plot(w/pi,abs(h));
|H(e^{j\omega}|幅度谱'
plot(w/pi,angle(h));
相位谱arg[H(e^{j\omega})]'
以弧度为单位的相位'
3.3
clf;
w=0:
pi;
num=[0.7-0.50.31];
den=[10.3-0.50.7];
移出跳变后的代码:
plot(w/pi,unwrap(angle(h)));
3.4
num1=[1357911131517];
h=freqz(num,1,w);
3.6
w=-pi:
2*pi/255:
wo=0.4*pi;
D=10;
num=[123456789];
h1=freqz(num,1,w);
h2=freqz([zeros(1,D)num],1,w);
%时移后的傅立叶变换得到的序列
subplot(2,2,1);
plot(w/pi,abs(h1));
原序列的幅度谱'
subplot(2,2,2);
plot(w/pi,abs(h2));
时移后序列的幅度谱'
subplot(2,2,3);
plot(w/pi,angle(h1));
原序列的相位谱'
subplot(2,2,4);
plot(w/pi,angle(h2));
时移后序列的相位谱'
3.10
w=-pi:
wo=0.4*pi;
num1=[1357911131517];
L=length(num1);
h1=freqz(num1,1,w);
n=0:
L-1;
num2=exp(wo*i*n).*num1;
h2=freqz(num2,1,w);
%频移后的傅立叶变换得到的序列
subplot(2,2,1)
grid
subplot(2,2,2)plot(w/pi,abs(h2));
频移后序列的幅度谱'
subplot(2,2,3)
subplot(2,2,4)
频移后序列的相位谱'
3.14
%离散傅里叶变换的卷积性质
x1=[1357911131517];
x2=[1-23-21];
y=conv(x1,x2);
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
hp=h1.*h2;
h3=freqz(y,1,w);
plot(w/pi,abs(hp));
幅度谱的乘积'
subplot(2,2,2)
plot(w/pi,abs(h3));
卷积后序列的幅度谱'
plot(w/pi,angle(hp));
相位谱的和'
plot(w/pi,angle(h3));
卷积后序列的相位谱'
3.17
%离散傅里叶变换的调制性质
x2=[1-11-11-11-11];
y=x1.*x2;
subplot(3,1,1)
第一个序列的幅度谱'
subplot(3,1,2);
第二个序列的幅度谱'
subplot(3,1,3);
乘积序列的幅度谱'
3.20
num=[1234];
L=length(num)-1;
h1=freqz(num,1,w);
h2=freqz(fliplr(num),1,w);
h3=exp(w*L*i).*h2;
时间反转后序列的幅度谱'
subplot(2,2,3);
subplot(2,2,4);
时间反转后序列的相位'
3.23
%原始序列是x=[123...],
其长度由N决定
clearall;
N=10;
N=10L=10
L=20;
%w1代表频率点
w1=-pi:
2*pi/L:
n=1:
L;
fori=1:
L
w(i)=w1(i);
end
NN=10L=20
x(i)=i;
xx=[xzeros(1,L-N)];
y=fft(xx,L);
xk=ifft(y,L);
plot(w/pi,abs(y));
grid
幅度谱'
)N=10L=50
subplot(3,1,2)
plot(w/pi,angle(y));
相位谱'
subplot(3,1,3)
stem(n,xk);
grid
n'
原始序列'
)N=50L=50
3.30
M=6;
a=[0123456789];
b=circshift(a,M);
L=length(a)-1;
stem(n,a);
axis([0,L,min(a),max(a)]);
幅值'
原序列'
stem(n,b);
title(['
圆周位移'
num2str(M),'
个样本得到的序列'
]);
3.31
代码同3.30,只是这里M值取-15
3.33当时移值取5(序列长为9)时的图形输出如下:
x=[0246810121416];
N=length(x)-1;
n=0:
N;
y=circshift(x,5);
XF=fft(x);
YF=fft(y);
stem(n,abs(XF));
原序列的离散傅立叶变换的幅度'
stem(n,abs(YF));
当时移值取18(序列长为9)时的图形输出如下:
圆周移位后的序列的离散傅立叶变换的幅度'
stem(n,angle(XF));
原序列的离散傅立叶变换的相位'
stem(n,angle(YF));
圆周移位后的序列的离散傅立叶变换的相位'
3.36
g1=[123456];
g2=[1-233-21];
ycir=circonv(g1,g2);
disp('
圆周卷积的结果='
disp(ycir)
G1=fft(g1);
G2=fft(g2);
yc=real(ifft(G1.*G2));
离散傅立叶变换乘积的离散傅立叶逆变换的结果='
disp(yc)
输出:
圆周卷积的结果=
12281401614
离散傅立叶变换乘积的离散傅立叶逆变换的结果=
3.38
g1=[12345];
g2=[22011];
g1e=[g1zeros(1,length(g2)-1)];
g2e=[g2zeros(1,length(g1)-1)];
ylin=circonv(g1e,g2e);
通过圆周卷积的线性卷积='
disp(ylin);
y=conv(g1,g2);
直接线性卷积='
disp(y);
通过圆周卷积的线性卷积=
2610152115795
直接线性卷积=
3.42
x=[1242632642zeros(1,247)];
x1=[x
(1)x(256:
-1:
2)];
xe=0.5*(x+x1);
XEF=fft(xe);
k=0:
255;
plot(k/128,real(XF));
grid;
Re(DFT\{x[n]\})'
plot(k/128,imag(XF));
Im(DFT\{x[n]\})'
plot