重邮+数字信号处理实验三: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("思考题的离散系统的相频特性曲线")
%应该是带通滤波器
相关推荐
小熊科研路(同名GZH)1 小时前
【Matlab高端绘图SCI绘图模板】第002期 绘制面积图
开发语言·matlab
肖田变强不变秃16 小时前
C++实现矩阵Matrix类 实现基本运算
开发语言·c++·matlab·矩阵·有限元·ansys
jk_1011 天前
MATLAB中characterListPattern函数用法
开发语言·matlab
一个通信老学姐1 天前
专业138总分400+中国科学技术大学843信号与系统考研中科大电子信息通信生医先研,真题,大纲,参考书。
考研·信息与通信·信号处理
恩泽君2 天前
Matlab总提示内存不够用,明明小于电脑内存
开发语言·matlab
机器学习之心2 天前
回归预测 | MATLAB基于TCN-BiGRU时间卷积神经网络结合双向门控循环单元多输入单输出回归预测
matlab·回归·多输入单输出回归预测·cnn·tcn-bigru·时间卷积双向门控循环单元
Better Rose2 天前
【数学建模美赛速成系列】O奖论文绘图复现代码
数学建模·matlab
kuan_li_lyg2 天前
ROS2 与机器人视觉入门教程(ROS2 OpenCV)
开发语言·人工智能·opencv·计算机视觉·matlab·机器人·ros
matlabgoodboy3 天前
matlab程序代编程写做代码图像处理BP神经网络机器深度学习python
图像处理·深度学习·matlab
jk_1013 天前
MATLAB中regexptranslate函数用法
开发语言·mysql·matlab