希望大家在大学期间就能成为有教养的门外汉!文理双修会让同学们终生收益!作为老师,每次课结束后也会思考怎么教能让学生学的更有兴趣,学到更多的知识。 先请同学们跟着视频内容回顾一下第二章的主要内容,也顺道看看23级通信工程专业学生们的表现。在课堂上做仿真演示不仅考验自己知识的掌握程度,还考验自己的临场应变能力!这是一次非常好的锻炼机会!大家应该给我们通信工程专业学生的编程表现点个赞吧!人生需要老师和父母的鼓励,也需要同学之间互相鼓励。因为第二章内容较多,因此在2025学年的第六周依旧和同学们回顾学过的信号知识。请看下面的超长视频!学习需要不断的复习,才能真正的掌握!看似简单的函数编写,真正到用的时候呢?很多同学都忘光了!但我有信心把大家培养成编程高手,前提是按照我说的方法去学习!学习方法真的很重要!养成良好的学习习惯才能让自己成为优秀的学生,乃至成为技术专家。卷积是一种重要的数学工具,广泛应用于信号处理、图像处理和深度学习等领域。通过理解卷积的定义、步骤和应用场景,可以更好地掌握这一概念。和信号处理的联系在哪呢?通过理解卷积的实际意义,可以更好地应用卷积解决实际问题。对于通信工程专业而言,卷积的使用可谓无处不在,也许会伴随一生!系统的零状态响应是指系统在初始状态为零(即系统的储能元件,如电感的初始电流、电容的初始电压等都为零)的条件下,仅由外加激励信号所引起的响应。五、实验要求
(1) 在计算机中输入程序,验证实验结果,并将实验结果记录下来,经过分析、比较来完成实验报告。讲到这里,我需要大家按照毕业论文的格式要求来写一份实验报告。什么实验呢?等看到最后自然知晓。
(2) 对于设计性实验,应自行编制完整的实验程序,重复验证性实验的过程,并在实验报告中给出完整的自编程序。
六、思考题
函数conv既不给出也不接受任何时间信息,怎样才能得到卷积以后的时间信息(即卷积的起点和终点)? 请利用卷积函数编写一个可以得到时间信息的改进程序。
在 MATLAB 中,可以通过以下步骤计算卷积及其时间信息:
使用 conv
函数计算卷积结果。
根据输入信号的时间向量计算卷积结果的时间向量。
正弦波与 sinc 函数卷积,比较不同频率信号的卷积结果。看看代码怎么写?
% 演示正弦波与sinc函数的卷积效果,并比较不同频率正弦波的卷积结果。
% 通过本程序,学生可以直观看到sinc函数的滤波效果,
% 以及不同频率正弦波信号在通过sinc滤波器后的变化。
% 2025-3-19
clear,clc,close;
% 教材上的sinc函数
t=(0:0.001:2.5);
x=linspace(-5,5);
y=sinc(x);
plot(x,y);
title('Sinc函数');
xlabel('时间(t)');
ylabel('幅值(f)');
% 定义参数
Fs = 8192; % 采样频率
T = 2/Fs; % 采样间隔
L = 10000; % 信号长度
t = (0:L-1)*T; % 时间向量
% 定义不同频率的正弦波
f1 = 50; % 低频正弦波频率
f2 = 450; % 高频正弦波频率
sin_wave_low = sin(2*pi*f1*t);
% 低频正弦波
sin_wave_high = sin(2*pi*f2*t);
% 高频正弦波
sin_wave = sin_wave_low + sin_wave_high;
% 双音正弦波
% 定义sinc函数
sinc_cutoff = 200; % sinc函数的截止频率
sinc_t = -0.1:T:0.1; % sinc函数的时间范围
sinc_wave = sinc(2*sinc_cutoff*sinc_t); % sinc函数
% 卷积
conv_low = conv(sin_wave_low, sinc_wave, 'same');
% 低频正弦波与sinc卷积
conv_high = conv(sin_wave_high, sinc_wave, 'same');
% 高频正弦波与sinc卷积
conv_sin = conv(sin_wave, sinc_wave, 'same');
% 双音正弦波与sinc卷积
sound(conv_high)
freqz(sinc_wave) % 幅频响应 后面会学到
% 绘制结果
figure
% 原始低频正弦波
subplot(3, 1, 1);
plot(t, sin_wave_low);
title(['低频正弦波 (', num2str(f1), ' Hz)']);
xlabel('时间 (s)');
ylabel('幅度');
% 低频正弦波与sinc卷积结果
subplot(3, 1, 2);
plot(t, conv_low);
title('低频正弦波与sinc卷积结果');
xlabel('时间 (s)');
ylabel('幅度');
% 高频正弦波与sinc卷积结果
subplot(3, 1, 3);
plot(t, conv_sin);
title('双音正弦波与sinc卷积结果');
xlabel('时间 (s)');
ylabel('幅度');
% 显示sinc函数
figure
plot(sinc_t, sinc_wave);
title('sinc函数');
xlabel('时间 (s)');
ylabel('幅度');
录一段语音或者清唱一段流行歌曲,通过回响器,观察声音的变化!带着同学们感受声音处理的奇妙,增加学习仿真的兴趣!那什么是回响器?这就是本次课程实验的内容。下一篇文章老师会详细讲解并公布我写的代码,不过要请同学们先进行尝试!未完,待续!
修订记录
20250223 完成初稿;
20250325 修订内容;