最新20125数字滤波器的设计报告.doc
- 文档编号:162967
- 上传时间:2022-10-04
- 格式:DOC
- 页数:47
- 大小:1.91MB
最新20125数字滤波器的设计报告.doc
《最新20125数字滤波器的设计报告.doc》由会员分享,可在线阅读,更多相关《最新20125数字滤波器的设计报告.doc(47页珍藏版)》请在冰豆网上搜索。
实验名称:
离散时间信号与系统的时、频域表示
实验目的和任务:
熟悉Matlab基本命令,理解和掌握离散时间信号与系统的时、频域表示及简单应用。
在Matlab环境中,按照要求产生序列,对序列进行基本运算;对简单离散时间系统进行仿真,计算线性时不变(LTI)系统的冲激响应和卷积输出;计算和观察序列的离散时间傅立叶变换(DTFT)幅度谱和相位谱。
实验内容:
基本序列产生和运算:
Q1.1~1.3,Q1.23,Q1.30~1.33
离散时间系统仿真:
Q2.1~2.3
LTI系统:
Q2.19,Q2.21,Q2.28
DTFT:
Q3.1,Q3.2,Q3.4
实验过程与结果分析:
Q1.1 运行P1_1产生单位样本序列u[n]的程序与显示的波形如下:
clf;
n=-10:
20;
u=[zeros(1,10)1zeros(1,20)];
stem(n,u);
xlabel('时间序号n');ylabel('振幅');
title('单位样本序列');
axis([-102001.2]);
Q1.2clf命令的作用是-清除图形窗口上的图形
axis命令的作用是-设置坐标轴的范围和显示方式
title命令的作用是-给图形加名字
xlabel命令的作用是-添加x坐标标注
ylabel命令的作用是-添加y坐标标注
Q1.3 产生有延时11个样本ud[n]的程序及其运行结果如下:
clf;
n=-10:
20;
u=[zeros(1,21)1zeros(1,9)];
stem(n,u);xlabel('时间序号n');ylabel('振幅');
title('单位样本序列');
axis([-102001.2]);
Q1.23修改上述程序,以长生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。
该序列的周期是多少?
n=0:
50;
f=0.1;
f=0.08;
phase=pi;
A=2.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([050-33]);
grid;
周期为:
2π/ω=1/f=1/0.08=1/(8/100)=100/8=25/2.
Q1.30 未污染的信号s[n]是什么样的形式?
加性噪声d[n]是什么样的形式?
加性噪声d[n]是均匀分布在-0.4和+0.4之间的随机序列
Q1.31 使用语句s=s+d能产生被噪声污染的信号吗?
若不能,为什么?
不能。
因为d是列向量,s是行向量
Q1.32 信号x1、x2、x3与x之间的关系是什么?
x1是x的延时,x2和x相等,x3超前于x
Q1.33 legend的作用是什么
legend用于产生图例说明
Q2.1 对于M=2和输入x[n]=s1[n]+s2[n],程序P2.1的输出为:
输入x[n]被该离散时间系统抑制的分量为-Signal#2的高频分量
Q2.2 程序P2.1中LTIsystem被修改为y[n]=0.5(x[n]–x[n–1])后,输入x[n]=s1[n]+s2[n]导致的输出为:
对于输入的影响是-该系统现在是一个高通滤波器。
它通过高频率的输入分量S2,而不是低频分量输入S1。
Q2.3 程序P2_1对于不同M(M=4,6)取值和不同正弦分量(任取2个)取值的运行结果如下:
M=4f1=0.05f2=0.10
M=6f1=0.30f2=0.30
Q2.19 运行P2_5生成的结果如下:
:
Q2.21 生成的MATLAB代码如下:
clf;
N=40;
num=[0.9-0.450.350.002];
den=[1.00.71-0.46-0.62];
x=[1zeros(1,N-1)];
y=filter(num,den,x);
stem(y);
xlabel('时间序号n');ylabel('振幅');
title('冲击响应');grid;
程序产生的40个样本如下所示:
Q2.28 程序P2_7产生的序列y[n]andy1[n]如下所示:
①y[n]和y1[n]的差别为---它们无差别。
②将x[n]补零后得到x1[n]作为输入,产生y1[n]的原因是--对于长度N1和N2的两个序列,转化率返回得到的序列长度N1+N2-1。
与此相反,过滤器接受一个输入信号和一个系统规范。
返回的结果是相同的长度作为输入信号。
因此,为了从转化率和滤波器得到直接比较的结果,有必要供应滤波器的输入已经零填充为长度L(x)+L(h)-1。
Q3.1 程序P3_1计算离散时间傅里叶变换的原始序列为---H(e)=
pause命令的作用为-不加参数,直接用pause的话,就是程序暂停,直至用户按任意一个按键。
如果加参数,比如pause(1.5)就是程序暂停1.5秒。
Q3.2 程序P3_1运行结果为:
DTFT是关于w的周期函数么?
答:
DTFT是关于的周期函数周期是2
四个图形的对称性为:
实部是2周期和偶对称;虚部是2周期和奇对称;幅度是2周期和偶对称;相位是2周期和奇对称性。
Q3.4 修改程序P3_1重做Q3.2的程序如下:
clf;
w=-4*pi:
8*pi/511:
4*pi;
num=[1357911131517];
den=1;
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));grid
title('H(e^{j\omega})的虚部')
xlabel('\omega/\pi');
ylabel('振幅');
pause
subplot(2,1,1)
plot(w/pi,abs(h));grid
title('|H(e^{j\omega})|幅度谱')
xlabel('\omega/\pi');
ylabel('振幅');
subplot(2,1,2)
plot(w/pi,angle(h));grid
title('相位谱arg[H(e^{j\omega})]')
xlabel('\omega/\pi');
ylabel('以弧度为单位的相位');
修改程序后的运行结果为:
DTFT是关于w的周期函数么?
答:
DTFT是关于w的周期函数。
周期是-2
相位谱中跳变的原因是-角度返回到arctan的本值
实验名称:
离散傅立叶变换和z变换
实验目的和任务:
掌握离散傅立叶变换(DFT)及逆变换(IDFT)、z变换及逆变换的计算和分析。
利用Matlab语言,完成DFT和IDFT的计算及常用性质的验证,用DFT实现线性卷积,实现z变换的零极点分析,求有理逆z变换。
实验内容:
DFT和IDFT计算:
Q3.23~3.24
DFT的性质:
Q3.26~3.29,Q3.36,Q3.38,Q3.40
z变换分析:
Q3.46~3.48
逆z变换:
Q3.50
实验过程与结果分析:
Q3.23编写一个MATLAB程序,计算并画出长度为N的L点离散傅里叶变换X[k]的值,其中L≥N,然后计算并画出L点离散傅里叶变换X[k]。
对不同长度N和不同的离散傅里叶变换长度L,运行程序。
讨论你的结果。
编写的MATLAB程序:
clf;
N=200;%lengthofsignal
L=256;%lengthofDFT
nn=[0:
N-1];
kk=[0:
L-1];
xR=[0.1*(1:
100)zeros(1,N-100)];
xI=[zeros(1,N)];
x=xR+i*xI;
XF=fft(x,L);
subplot(3,2,1);grid;
plot(nn,xR);grid;
title('Re\{x[n]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
subplot(3,2,2);
plot(nn,xI);grid;
title('Im\{x[n]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
subplot(3,2,3);
plot(kk,real(XF));grid;
title('Re\{X[k]\}');
xlabel('Frequencyindexk');
ylabel('Amplitude');
subplot(3,2,4);
plot(kk,imag(XF));grid;
title('Im\{X[k]\}');
xlabel('Frequencyindexk');
ylabel('Amplitude');
%IDFT
xx=ifft(XF,L);
subplot(3,2,5);
plot(kk,real(xx));grid;
title('RealpartofIDFT\{X[k]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
subplot(3,2,6);
plot(kk,imag(xx));grid;
title('ImagpartofIDFT\{X[k]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
Q3.24写一个MATLAB程序,用一个N点复数离散傅里叶计算两个长度为N的实数序列的N点离散傅里叶变换,,并将结果同直接使用两个N点离散傅里叶变换得到的结果进行比较。
编写的MATLAB程序:
clf;
N=256;%lengthofsignal
nn=[0:
N-1];
ntime=[-N/2:
N/2-1];
g=(0.75).^abs(ntime);%signalg
h=(-0.9).^ntime;%signalh
GF=fft(g);
HF=fft(h);
x=g+i*h;
XF=fft(x);
XFstar=conj(XF);
XFstarmod=[XFstar
(1)fliplr(XFstar(2:
N))];
GF2=0.5*(XF+XFstarmod);
HF2=-i*0.5*(XF-XFstarmod);
abs(max(GF-GF2))
abs(max(HF-HF2))
figure
(1);clf;
subplot(2,2,1);grid;
plot(nn,real(GF));grid;
title('TwoN-pointDFT''s');
xlabel('Frequencyindexk');
ylabel('Re\{G[k]\}');
subplot(2,2,2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 20125 数字滤波器 设计 报告