信号与系统大作业大作业要求 课程大作业采用小组形式进行,每4~6名学生一组,每组推选组长1名,由组长负责组织小组成员分工合作,完成语音信号时频认知。具体要求如下,①录制一段语音信号,对录制的信号进行采样,并画出采样后语音信号的时域波形和频谱图;②对语音信号进行加噪,画出加噪后时域波形和频谱;③回放语音信号;实现快录慢放;④撰写设计报告及完成仿真,并进行验收答辩。 录制一段语音信号,对录制的信号进行采样,并画出采样后语音信号的时域波形和频谱图;
1、用window的附件中的“录音机”录制一段语音信号并存盘。(例如:d:\1\2.wav)
2、用MATLAB软件进行该原始语音信号的时频分析。
2.1代码
%对语言信号做原始的时域波形分析和频谱分析
[y,fs]=audioread('d:\1\2.wav');
% sound(y,fs) % 回放语音信号
n=length(y) %选取变换的点数
y_p=fft(y,n); %对n 点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(1)
subplot(2,1,1);
plot(y); %语音信号的时域波形图
title('原始语音信号采样后时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_p(1:n/2))); %语音信号的频谱图
title('原始语音信号采样后频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
2.2 图像
对语音信号进行加噪,画出加噪后时域波形和频谱;
2.1代码
%对音频信号产生噪声
L=length(y) %计算音频信号的长度
noise=0.1*randn(L,2); %产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数)
y_z=y+noise; %将两个信号叠加成一个新的信号——加噪声处理
%sound(y_z,fs)
%对加噪后的语音信号进行分析
n=length(y); %选取变换的点数
y_zp=fft(y_z,n); %对n 点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(2)
subplot(2,1,1);
plot(y_z); %加噪语音信号的时域波形图
title('加噪语音信号时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_zp(1:n/2))); %加噪语音信号的频谱图
title('加噪语音信号频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
回放语音信号;实现快录慢放;
在MATLAB写好的代码末尾输入sound(y,fs);语句 可实现语音正常放;
若输入sound(y,1.5*fs); 可实1.5倍快播放
若输入sound(y,0.5*fs); 可实现0.5倍慢播放
完整的Word格式文档51黑下载地址:
信号与系统大作业.docx
(114.58 KB, 下载次数: 24)
|