《MATLAB课程设计》报告DOC 下载本文

内容发布更新时间 : 2024/5/19 13:37:36星期一 下面是文章的全部内容请认真阅读。

figure(2)

freqz(x1) %绘制原始语音信号的频率响应图 title('频率响应图') figure(3)

subplot(2,1,1); %创建两行一列绘图区间的第1个绘图区间 plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图 title('原始语音信号FFT频谱') subplot(2,1,2);

plot(f,abs(y1(1:512))); ?s是绝对值,plot是直角坐标下线性刻度曲线

title('原始语音信号频谱') xlabel('Hz'); ylabel('幅值'); 时域波形和频谱:

图1 原始语音信号

图2 语音信号频率响应图

图3 原始语音信号FFT与信号频谱

2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。对加噪后的语音进行分析,并画出其信号时域和频谱图。 程序: fs=22050;

x1=wavread('C:\\Documents and Settings\\Administrator\\桌面\\声音文

件.wav');

%读取语音信号的数据,赋给变量x1 f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘

并除以1024的值,赋值给f

t=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,

Au=0.03; %d=[Au*sin(2*pi*5500*t)]'; %x2=x1+d; %sound(x2,22050); %y1=fft(x1,1024); %y2=fft(x2,1024); %figure(1); %plot(t,x2); %性图)

title('加噪后的信号');

xlabel('time n'); %xylabel('fuzhi n'); %yfigure(2) %subplot(2,1,1); % plot(f,abs(y1(1:512))); %title('原始语音信号频谱');

xlabel('Hz'); %xylabel('fuzhi'); % ysubplot(2,1,2); %plot(f,abs(y2(1:512))); %title('加噪后的信号频谱');

xlabel('Hz'); %xylabel('fuzhi'); % y且步长为1/fs的值,的序列的值,赋予t

噪声幅值

所加的噪声是正弦信号

将正弦信号噪声加在语音信号上 播放语音信号

对信号y1做1024点FFT变换 对信号y2做1024点FFT变换 创建图形窗1

做加噪后的信号时域图形(绘出t对x2的线轴的名字是“time n” 轴的名字是“fuzhi n” 创建图形窗2

创建两行一列绘图区间的第1个绘图区间 做原始语音信号的频谱图 轴的名字是“time n” 轴的名字是“fuzhi”

创建两行一列绘图区间的第2个绘图区间 做加噪后的语音信号的频谱图(abs是绝对

值,plot是直角坐标下线性刻度曲线)

轴的名字是“time n” 轴的名字是“fuzhi”

时域波形和频谱:

图4 加噪后的信号时域图

图5 原始信号与加噪后信号频谱对比

与原始信号对比,区别:

先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。如图5原