重邮+数字信号处理实验三:z变换及离散LTI系统的z域分析

实验目的:

( 1 )学会运用 Matlab 求离散时间信号的有理函数 z 变换的部分分式展开;
( 2 )学会运用 Matlab 分析离散时间系统的系统函数的零极点;
( 3 )学会运用 Matlab 分析系统函数的零极点分布与其时域特性的关系;
( 4 )学会运用 Matlab 进行离散时间系统的频率特性分析。

实验任务:

1 .试用 MATLAB 的 residuez 函数,求出以下部分分式展开和。


2. 试用 Matlab 画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。

3.试用 Matlab 绘制如下系统的频率响应曲线。

  1. 编写 Matlab 程序,系统的差分方程为 𝑦(𝑛) − 0.9𝑦(𝑛 − 8) = 𝑥(𝑛) − 𝑥(𝑛 − 8) 。
    ( 1 )画出该系统的零极点分布图,判断系统的稳定性;( 2 )画出系统在 0~2π 范围内的幅频特性曲线和相频特性曲线;(3 )分析该系统是什么类型的滤波器。

思考题

  1. 编写 Matlab 程序,分别采用系统 𝐻 1 (𝑧) = 𝑧/𝑧+0.8 、𝐻 2 (𝑧) = 𝑧/𝑧−1 、𝐻 3 (𝑧) = 𝑧 /𝑧+1.2
    对音频文件 motherland.wav 进行滤波(可采用实验二的 conv 函数)。( 1 )画出滤 波前后该音频文件 1~2s 时间段的连续时域波形图,要求横坐标的单位为秒;( 2 ) 说明滤波后信号幅度变化的原因。
  2. 已知系统函数𝐻(𝑧) =


编写 Matlab 程序实现:( 1 )画出该系统的零极点分布图,判断系统的稳定性;(2 )画出系统在 0~2π 范围内的幅频特性曲线和相频特性曲线;(3 )查找资料说明该系统是什么类型的滤波器,在实际应用中有什么功能?

解答

一定要记得补零,不然会报错

最后一问的最后一小问答案:该系统是一个梳状滤波器,其特征是通过去除低频分量而能够增强特定频率的信号成分。

Matlab 复制代码
%第一题
B1=[2,16,44,56,32];
A1=[3,3,-15,18,-12];
[R,P,K]=residuez(B1,A1);

R
P
K

%第二题
B2=[0,2,-1.6,-0.9];
A2=[1,-2.5,1.96,-0.48];
B3=[0,0,0,1,-1]
A3=[1,-0.9,-0.65,0.873,0];

%画图
figure
subplot(1,2,1);
zplane(B2,A2),grid on
legend('零点','极点');
title("零极点分布图");

subplot(1,2,2);
zplane(B3,A3),grid on
legend('零点','极点');
title("零极点分布图");

%题三
B4=[1,0,0];
A4=[1,-0.75,0.125];
[H,w]=freqz(B4,A4,400,'whole');
Hm=abs(H);
Hp=angle(H);
figure
subplot(2,1,1);
plot(w/pi,Hm),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Magnitude");
title("第三题的离散系统的幅频特性曲线")

subplot(2,1,2);
plot(w/pi,Hp),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Phase");
title("第三题的离散系统的相频特性曲线")

%第四题
B5=[1,0,0,0,0,0,0,-1];
A5=[1,0,0,0,0,0,0,-0.9];
[H2,w2]=freqz(B5,A5,400,"whole");
Hm2=abs(H2);
Hp2=angle(H2);

figure
subplot(3,1,1);
zplane(B5,A5),grid on;
legend('零点','极点');
title('零极点分布图');

subplot(3,1,2);
plot(w2/pi,Hm2),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Magnitude");
title("第四题的离散系统的幅频特性曲线")

subplot(3,1,3);
plot(w2/pi,Hp2),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Phase");
title("第四题的离散系统的相频特性曲线")

思考题解答

如果要提取1到2s一定要利用好fs框定范围,而不是全部拿出来

针对问答:

针对第二问,解释滤波后信号幅度变化的原因:

信号经过滤波后,幅度变化的原因主要包括:

1. 滤波器特性:不同的滤波器具有不同的频率响应,对某些频率成分的增益和衰减不同。高通滤波器会增强高频成分,而衰减低频成分,反之亦然。

2. 相位延迟:滤波器可能会引入相位延迟,导致频率成分的相位发生变化,从而影响到叠加后的幅度。

3. 增益:如果滤波器设计时增益设置不当,可能会导致输出信号的幅度与输入信号幅度存在明显差异。

4. 噪声和谐波成分:滤波过程中,如果输入信号中含有噪声或者高次谐波,滤波器会调整这些成分的幅度,从而影响输出信号的整体幅度。

5. 信号能量分布:不同频率成分在信号中的能量分布不同,滤波后整体信号能量的变化也会导致幅度变化。

通过这些因素的作用,滤波后信号的幅度就可能发生变化。

思考题二应该是一个带通滤波器。

Matlab 复制代码
%思考题一 
% 读取音频文件 
[audio, fs] = audioread('motherland.wav'); % 加载音频文件 
t = (0:length(audio)-1) / fs; % 时间向量,单位为秒 
startSample = fs * 1; % 对应1秒的样本索引 
endSample = fs * 2; % 对应2秒的样本索引 
audio_segment = audio(startSample:endSample); 
% 原始音频片段的波形 
subplot(4,1,1); 
plot(time_segment, audio_segment); 
title('原始音频片段'); 
xlabel('时间 (秒)'); 
ylabel('幅度'); 

% 对音频片段进行滤波 
% H1(z) = z / (z + 0.8) 
b1 = [1 0]; % 分子系数 
a1 = [1 0.8]; % 分母系数 
filtered_audio1 = filter(b1, a1, audio_segment); 

% 滤波后的音频波形 
subplot(4,1,2); 
plot(time_segment, filtered_audio1); 
title('滤波后音频1 '); 
xlabel('时间 (秒)'); 
ylabel('幅度'); 
% H2(z) = z / (z - 1) 
b2 = [1 0]; 
a2 = [1 -1]; 
filtered_audio2 = filter(b2, a2, audio_segment); 
subplot(4,1,3); 
plot(time_segment, filtered_audio2); 
title('滤波后音频2 )'); 
xlabel('时间 (秒)'); 
ylabel('幅度'); 

% H3(z) = z / (z + 1.2) 
b3 = [1 0]; 
a3 = [1 1.2]; 
filtered_audio3 = filter(b3, a3, audio_segment); 
% 绘制原始和滤波后音频的波形 
time_segment = (0:length(audio_segment)-1) / fs; % 1-2秒片段的时间向量 
subplot(4,1,4); 
plot(time_segment, filtered_audio3); 
title('滤波后音频3'); 
xlabel('时间 (秒)'); 
ylabel('幅度');

%思考题2
Bs=[1,-2,2];
As=[2,-2,1];
[Hs,ws]=freqz(Bs,As,400,'whole');
Hms=abs(Hs);
Hps=angle(Hs);

figure
subplot(3,1,1);
zplane(Bs,As),grid on;
legend('零点','极点');
title('零极点分布图');

subplot(3,1,2);
plot(ws/pi,Hms),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Magnitude");
title("思考题的离散系统的幅频特性曲线")

subplot(3,1,3);
plot(ws/pi,Hps),grid on;
xlabel("\omega/pi(rad/s)");
ylabel("Phase");
title("思考题的离散系统的相频特性曲线")
%应该是带通滤波器
相关推荐
IT猿手7 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
【建模先锋】9 小时前
创新首发!基于注意力机制优化的高创新故障诊断模型
深度学习·信号处理·故障诊断·特征融合·轴承故障诊断·fft变换·vmd分解
Evand J12 小时前
【MATLAB复现RRT(快速随机树)算法】用于二维平面上的无人车路径规划与避障,含性能分析与可视化
算法·matlab·平面·无人车·rrt·避障
s090713612 小时前
【声纳成像】基于滑动子孔径与加权拼接的条带式多子阵SAS连续成像(MATLAB仿真)
开发语言·算法·matlab·合成孔径声呐·后向投影算法·条带拼接
IT猿手15 小时前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手15 小时前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
SugarFreeOixi15 小时前
MATLAB绘图风格记录NP类型
python·matlab·numpy
IT猿手15 小时前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划
IT猿手17 小时前
基于强化学习Q-learning算法的无人机三维路径规划算法原理与实现,MATLAB代码
算法·matlab·无人机·路径规划·动态路径规划
ghie909020 小时前
拉普拉斯金字塔图像融合MATLAB仿真程序
人工智能·计算机视觉·matlab