信号与系统实验

一、实验目的

1. 熟悉信号的运算,包括平移与反褶、相加、相乘等;

2. 掌握在MATLAB中进行信号频谱分析的基本方法;

3. 理解信号抽样的概念和抽样定理;

4. 初步掌握在MATLAB中处理语音信号的方法。

二、实验内容

1、语音信号的获取;

2、语音信号的运算,包括平移和反褶、相加、相乘;

3、周期信号的有限项傅里叶级数合成;

4、语音信号的频谱分析;

5、连续时间信号的抽样;

6、语音信号的抽样。

三、实验步骤

1、语音信号的获取和运算

⑴ 录制语音信号并转换为wav格式,在MATLAB中读入该信号并绘制其波形;

⑵ 实现该语音信号的反褶和平移运算,输出运算后的语音信号,绘制该信号的波形;

⑶ 实现该语音信号与正弦信号的相加,输出运算后的语音信号,绘制该信号的波形;

⑷ 实现该语音信号与正弦信号的相乘,输出运算后的语音信号,绘制该信号的波形。

    2、语音信号的频谱分析

⑴ 编写程序,分别绘制当N取不同值时的近似周期方波信号的波形;

⑵ 分析语音信号m(t)的频谱,绘制该频谱的波形;

⑶ 分析语音信号与正弦信号相加(m(t)+sin(2πft))的频谱,绘制该频谱的波形;

⑷ 分析语音信号与正弦信号的相乘(m(tsin(2πft))的频谱,绘制该频谱的波形。

    3、语音信号的抽样

⑴ 对于连续的余弦信号Acos(2πft)进行抽样,抽样频率fs分别选为f、2f和4f,绘制连续余弦信号及其三种抽样信号的波形。

    ⑵ 对于幅度为E、宽度为τ的连续时间矩形信号(门信号)进行抽样,设f=1/τ,则抽样频率fs分别取为f、2f和4f,绘制连续门信号及其三种抽样信号的波形。

    ⑶ 对语音信号m(n)进行抽样得到y(n)。抽样间隔N分别取为2、4和8。分别将抽样后得到的y(n)输出为语音信号,并绘制其波形。

四、实验结果

1、语音信号的获取和运算

wavread
wavread MATLAB 中的音频信号读入函数,可以将 WAV 格式
的音频信号读入 MATLAB 并显示其参数。具体调用格式如下:
[m,fs,bits]=wavread('E:\c\1.wav')
其中,等号左端为函数的输出, m 为存储语音信号的矩阵(或列向量),
fs 语音信号的采样率, bits 为比特数;‘ E:\c\1.wav’ 表示语音信号的保
存路径,即语音文件 1.wav 保存在 E 盘的 c 文件夹下。
注意: MATLAB2014 之后的版本使用 audioread 代替 wavread
audioread 的具体调用格式请自行查阅资料学习。
wavwrite
wavwrite MATLAB 中的音频信号生成函数,可以将某个向量
转换成 WAV 格式的音频信号并输出。具体调用格式如下:
wavwrite(y,fs, bits,' E:\c\2.wav')
其中, y 为需要转换为语音信号的向量, fs 语音信号的采样率, bits
为比特数; ‘E:\c\2.wav’ 表示生成的语音信号的保存路径,即将向量 y
转换为语音文件 2.wav ,保存在 E 盘的 c 文件夹下。
注意: MATLAB2014 之后的版本使用 audiowrite 代替 wavwrite
7 audiowrite 的具体调用格式请自行查阅资料学习。
% 本程序读取语音信号并绘制其波形,实现信号的反褶和平移,输出变换后的语音信号
clear
clear all
[m,fs]=audioread('wav录音文件路径'); %读取语音信号,wav格式
L=size(m,1); % L 为语音信号的长度
t0 = (L-1)/fs; % 语音信号的持续时间,等于总点数除以采样率
ts = 1/fs; % 语音信号时间采样间隔,等于信号抽样频率的倒数
k = [0:ts:t0]; % k 为向量 m 的时间自变量的取值范围
n = 1:L;

f=10;
f1 = m(L-n+1,1); % 实现语音信号的反褶和平移
f2=m(n)+sin(2*pi*f*k);%实现信号与正弦信号相加
f3=m(n).*sin(2*pi*f*k);%实现信号与正弦信号相乘

audiowrite('保存路径',f1,fs); % 将向量 f1 输出为语音信号 2.wav
audiowrite('保存路径',f2,fs);
audiowrite('保存路径',f3,fs);

figure(1);
plot(k,m); % 原始语音信号的波形图
title('语音的波形图'); % 标题
xlabel('时间/s'); % 横坐标

figure(2);
plot(k,f1); % 平移和反褶后语音信号的波形图
title('反褶和平移后语音的波形图'); 
xlabel('时间/s');

figure(3)
plot(k,f2); % 与正弦信号相加的波形图
title('与正弦信号相加的波形图'); 
xlabel('时间/s'); % 横坐标
  
figure(4)
plot(k,f3); % 与正弦信号相乘的波形图
title('与正弦信号相乘的波形图'); 
xlabel('时间/s'); % 横坐标

 ⑴ 原始语音信号的波形

信号与系统实验_第1张图片

 ⑵ 语音信号反褶和平移后的波形;

信号与系统实验_第2张图片

⑶ 语音信号与正弦信号相加的波形

信号与系统实验_第3张图片

⑷ 语音信号与正弦信号相乘的波形 

信号与系统实验_第4张图片

2、语音信号的频谱分析

1 、实验中用到的主要函数调用格式简介
fft
8 fft MATLAB 中进行快速傅里叶变换的函数,具体调用格式如
下:
X=fft(x,N)
其中, x N 点的离散时间信号, X 为傅里叶变换的结果,也是 N
点的离散序列。
fftshift
fftshift 的作用是将频谱的零频率分量平移至频谱中心。因为 fft
涉及的离散傅里叶变换运算过程有圆周移位和频谱截取过程(具体原
理详见“数字信号处理”课程),因此得到的频谱其中心并不对应于
零频率分量。采用 fftshift 命令可以将频谱平移为正常位置。具体调
用格式如下:
Y=fftshift(X)
其中, X 是快速傅里叶变换的结果, Y 是进行频谱平移之后的结果。
% 本程序实现有限项傅里叶级数的叠加
clear
clear all
t = -2:0.001:2; % 信号的时间取值范围
E = 1; % 方波的峰峰值
T = 2; % 方波的周期
N = input('N='); % 输入级数的项数
sn = zeros(1,length(t)); % 定义级数求和向量,初始值为零向量,长度等于时间
9 长度
for n=1:N
sn = sn + 2*E/pi*(1/n)*sin(n*pi/2)*cos(n*2*pi/T*t); % 傅里叶级数求和
end
figure(1);
plot(t,sn); % 绘制有限项傅里叶级数合成图

⑴ N取不同值时的近似周期方波信号的波形; 

% 本程序实现有限项傅里叶级数的叠加
clear
clear all
t = -2:0.001:2; % 信号的时间取值范围
E = 1; % 方波的峰峰值
T = 2; % 方波的周期
N = input('N='); % 输入级数的项数
sn = zeros(1,length(t)); % 定义级数求和向量,初始值为零向量,长度等于时间长度
for n=1:N
 sn = sn + 2*E/pi*(1/n)*sin(n*pi/2)*cos(n*2*pi/T*t); % 傅里叶级数求和 
end
figure(1);
plot(t,sn); % 绘制有限项傅里叶级数合成图

N=6

信号与系统实验_第5张图片

N=66

信号与系统实验_第6张图片

 N=666

信号与系统实验_第7张图片

% 本程序实现语音信号的频谱分析
clear
clear all
[m,fs,bits]=wavread('E:\c\1.wav '); % 读取语音信号
L=size(m,1); % L 为语音信号的长度
f = [0:(L-1)]*fs/L-fs/2; % 将信号的抽样频率和点数转换为频率值
X = fft(m(:,1),L); % 原始语音信号的傅里叶变换
Y = fftshift(X); % 对频谱进行平移,按正负频率对称的方式排列频谱
figure(1);
plot(f,abs(Y)); % 原始语音信号的幅度频谱图
title(' 原始语音信号的频谱图 ');
xlabel(' 频率 /Hz');

⑵ 原始语音信号的频谱

⑶ 语音信号与正弦信号相加的频谱

⑷ 语音信号与正弦信号相乘的频谱

[m,Fs]=audioread('文件路径');  %导入原始信号
[m2,Fs]=audioread('文件路径');%导入与与原始信号相加的信号
[m3,Fs]=audioread('文件路径');%导入与原始信号相乘的信号

L=size(m,1);%L为语音信号的长度
f=[0:(L-1)]*Fs/L-Fs/2;%将信号的抽样频率和点数转化为频率值

M=fft(m(:,1),L);%原始语音     信1号的傅里叶变换
MM=fftshift(M);%对频谱进行平移,按照正负对称的方式排列频谱
figure(2)
plot(f,abs(MM));%原始语音信号的幅度频谱
title('原始语音信号的频谱图');
xlabel('频率/Hz');

M2=fft(m2(:,1),L);%原始语音信号与正弦信号相加的傅里叶变换
MM2=fftshift(M2);%对频谱进行平移,按照正负对称的方式排列频谱
figure(3)
plot(f,abs(MM2));%原始语音信号与正弦信号相加的幅度频谱
title('(原始语音信号+正弦信号)的频谱图');
xlabel('频率/Hz');

M3=fft(m3(:,1),L);%原始语音信号与正弦信号相乘的傅里叶变换
MM3=fftshift(M3);%对频谱进行平移,按照正负对称的方式排列频谱
figure(4)
plot(f,abs(MM3));%原始语音信号与正弦信号相乘的幅度频谱
title('(原始语音信号*正弦信号)的频谱图');
xlabel('频率/Hz');

3、语音信号的抽样

rectpuls
rectpuls 是生成连续时间矩形信号的函数,具体调用格式如下:
10 11
y =rectpuls( t , τ )
可以生成一个幅度为 1 、宽度为 τ 、相对于 t =0 左右对称的矩形信号。
2 、程序示例:
% 本程序实现连续时间信号的抽样
clear
clear all
t0 = 0:0.001:0.1; % 信号持续的时间范围
x0 = cos(2*pi*40*t0); % 连续余弦信号,频率为 40Hz
L0 = length(t0); % 信号在 MATLAB 中存储的点数
Fs = 80; % 抽样频率
t = 0:1/Fs:0.1; % 抽样信号的离散时间定义域和抽样间隔
x = cos(2*pi*40*t); % 抽样后得到的离散余弦信号
figure(1) % 在同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'r'),hold on % 绘制连续时间信号的图形
stem(t,x),hold off % 绘制抽样后的离散时间信号的图形
title(' 连续时间信号及其抽样信号 '); % 标题
legend(' 连续时间信号 ',' 抽样信号 ',4) % 图例说明
% 本程序实现对语音信号的抽样,输出抽样后的语音信号
clear
clear all
[m,fs,bits]=wavread('E:\c\1.wav '); % 读取语音信号
y = m(:,1);
L = size(y); % L 为离散语音信号的长度
fs1 = fs/2; % 对离散信号 y 的抽样频率为原信号抽样频率的一半
y1 = y(1:2:L); % 对离散信号 y, 每两个点中抽取一个点构成新的序列 y1
wavwrite(y1,fs1,bits,'E:\c\cy1.wav '); % 将向量 y1 输出为语音信号 cy1.wav figure(1);
plot(y1); % 抽样后语音信号的波形图
title(' 抽样后的语音波形图 '); % 标题

⑴ 连续的余弦信号Acos(2πft)的抽样结果

% 本程序实现连续时间信号的抽样
clear
clear all
t0 = 0:0.001:0.1; % 信号持续的时间范围
x0 = cos(2*pi*40*t0); % 连续余弦信号,频率为 40Hz
L0 = length(t0); % 信号在 MATLAB 中存储的点数
f=80
Fs = f; % 抽样频率
t = 0:1/Fs:0.1; % 抽样信号的离散时间定义域和抽样间隔
x = cos(2*pi*40*t); % 抽样后得到的离散余弦信号

figure(1);
plot(t0,x0);%此处为t0,为连续信号
title('连续余弦信号');

figure(2) % 在同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'r'),hold on % 绘制连续时间信号的图形
stem(t,x),hold off % 绘制抽样后的离散时间信号的图形
title('连续时间信号及其抽样信号'); % 标题
%legend('连续时间信号','抽样信号',4) % 图例说明

Fs=2*f;%抽样频率2222222222222
t=0:1/Fs:0.1;%抽样信号的离散时间定义域和抽样间隔
x=cos(2*pi*40*t);%抽样后的到的离散余弦信号
figure(3);%再同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'g');hold on
stem(t,x,'r');%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为160Hz');


Fs=4*f;%抽样频率333333333333
t=0:1/Fs:0.1;%抽样信号的离散时间定义域和抽样间隔
x=cos(2*pi*40*t);%抽样后的到的离散余弦信号
figure(4);%再同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'g');hold on
stem(t,x,'r');%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为320Hz');

 信号与系统实验_第8张图片

fs =f时抽样信号的波形

信号与系统实验_第9张图片

fs = 2f时抽样信号的波形

信号与系统实验_第10张图片

③ fs = 4f时抽样信号的波形

信号与系统实验_第11张图片

⑵ 连续时间矩形信号(门信号)的抽样结果

fs =f时抽样信号的波形

fs = 2f时抽样信号的波形

③ fs = 4f时抽样信号的波形

tm=-10:0.001:10;%定义们信号的时间范围
U=rectpuls(tm,5);%产生门信号幅度为1,宽度为5的门信号  
f=1/5;%定义抽样频率
figure(5);%subplot(2,2,1)
plot(tm,U);%绘制门信号连续信号
title('门信号连续信号')

t2=-10:f:10;%抽样信号的离散时间定义域和抽样间隔
U2=rectpuls(t2,5);
figure(6)%subplot(2,2,2);%绘制抽样频率为f的离散信号
stem(t2,U2);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为fHz')

t3=-10:2*f:10;%抽样信号的离散时间定义域和抽样间隔
U3=rectpuls(t3,5);
figure(7)%subplot(2,2,3);%绘制抽样频率为2f的离散信号
stem(t3,U3);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为2fHz')

t4=-10:4*f:10;%抽样信号的离散时间定义域和抽样间隔
U4=rectpuls(t4,5);
figure(8)%subplot(2,2,4);%绘制抽样频率为4f的离散信号
stem(t4,U4);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为4fHz')

⑶ 语音信号的抽样结果。抽样间隔N分别取为2、4和8。分别将抽样后得到的y(n)输出为语音信号,并绘制其波形。

N=2时抽样信号的波形

N=4时抽样信号的波形

③ N=8时抽样信号的波形

% 本程序实现对语音信号的抽样,输出抽样后的语音信号
clear
clear all
[m,fs]=audioread('文件路径'); %读取语音信号
y = m(:,1);
L = size(y); % L 为离散语音信号的长度
fs1 = fs/2; % 对离散信号 y 的抽样频率为原信号抽样频率的一半
y1 = y(1:2:L); % 对离散信号 y,每两个点中抽取一个点构成新的序列 y1
audiowrite('保存路径',y1,fs1); % 将向量 y1 输出为语音信号 cy1.wav

figure(1);
plot(y1); % 抽样后语音信号的波形图
title('抽样后的语音波形图'); % 标题
fs2=fs/4;% 对离散信号y的抽样频率为原信号抽样频率的1/4   存储时使用此抽样频率!!!!
y2=y(1:4:L);%对离散信号y,每4个点中取一个点构成新的序y2
audiowrite('保存路径',y2,fs2);%!!存储语音(存储信号在程序中的名字, !!fs2抽样频率)
figure(2)
plot(y2);
title('抽样间隔为4的语音信号的波形');

fs3=fs/8;% 对离散信号y的抽样频率为原信号抽样频率的一半   存储时使用此抽样频率!!!!
y3=y(1:8:L);%对离散信号y,每两个点中取一个点构成新的序y3
audiowrite('保存路径',y3,fs3);%!!存储语音(存储信号在程序中的名字, !!fs3抽样频率)
figure(3)
plot(y3);
title('抽样间隔为8的语音信号的波形');

结语,

ok,试验结束,有些我附上了实验结果,有些需要自己运行,记得修改代码。加油,宝贝们。

为了方便使用2014版本之前的同学,特附上12版本的代码以供使用。

第一部分

% 本程序读取语音信号并绘制其波形,实现信号的反褶和平移,输出变换后的语音信号
clear
clear all
[m,fs,bits]=wavread('D:\FFOutput\1.wav '); %读取语音信号,wav格式
L=size(m,1); % L 为语音信号的长度
t0 = (L-1)/fs; % 语音信号的持续时间,等于总点数除以采样率
ts = 1/fs; % 语音信号时间采样间隔,等于信号抽样频率的倒数
k = [0:ts:t0]; % k 为向量 m 的时间自变量的取值范围
n = 1:L;
 
f=10;
f1 = m(L-n+1,1); % 实现语音信号的反褶和平移
f2=m(n)+sin(2*pi*f*k);%实现信号与正弦信号相加
f3=m(n).*sin(2*pi*f*k);%实现信号与正弦信号相乘
 
wavwrite(f1,fs,bits,'D:\FFOutput\3.wav'); % 将向量 f1 输出为语音信号 3.wav
wavwrite(f2,fs,bits,'D:\FFOutput\4.wav');
wavwrite(f3,fs,bits,'D:\FFOutput\5.wav');
 
figure(1);
plot(k,m); % 原始语音信号的波形图
title('语音的波形图'); % 标题
xlabel('时间/s'); % 横坐标
 
figure(2);
plot(k,f1); % 平移和反褶后语音信号的波形图
title('反褶和平移后语音的波形图'); 
xlabel('时间/s');
 
figure(3)
plot(k,f2); % 与正弦信号相加的波形图
title('与正弦信号相加的波形图'); 
xlabel('时间/s'); % 横坐标
  
figure(4)
plot(k,f3); % 与正弦信号相乘的波形图
title('与正弦信号相乘的波形图'); 
xlabel('时间/s'); % 横坐标

第二部分

%信号实验1.2 语音信号的频谱分析
t=-2:0.001:2;
E=1;%波峰的峰值
T=2;%波博的周期
N=input('N=');%输入级数的项数
sn=zeros(1,length(t));%定义级数求和向量,长度等于时间长度
for n=1:N
    sn=sn+2*E/pi*(1/n)*sin(n*pi/2)*cos(n*2*pi/T*t);%傅里叶级数求和
end
figure(1)
plot(t,sn);%绘制有限项傅里叶基数合成图
title('方波信号');
[m,Fs,bits]=wavread('D:\FFOutput\1.wav');  %导入原始信号
[m2,Fs,bits]=wavread('D:\FFOutput\1.wav');%导入与与原始信号相加的信号
[m3,Fs,bits]=wavread('D:\FFOutput\1.wav');%导入与原始信号相乘的信号
 
L=size(m,1);%L为语音信号的长度
f=[0:(L-1)]*Fs/L-Fs/2;%将信号的抽样频率和点数转化为频率值
 
M=fft(m(:,1),L);%原始语音     信1号的傅里叶变换
MM=fftshift(M);%对频谱进行平移,按照正负对称的方式排列频谱
figure(2)
plot(f,abs(MM));%原始语音信号的幅度频谱
title('原始语音信号的频谱图');
xlabel('频率/Hz');
 
M2=fft(m2(:,1),L);%原始语音信号与正弦信号相加的傅里叶变换
MM2=fftshift(M2);%对频谱进行平移,按照正负对称的方式排列频谱
figure(3)
plot(f,abs(MM2));%原始语音信号与正弦信号相加的幅度频谱
title('(原始语音信号+正弦信号)的频谱图');
xlabel('频率/Hz');
 
M3=fft(m3(:,1),L);%原始语音信号与正弦信号相乘的傅里叶变换
MM3=fftshift(M3);%对频谱进行平移,按照正负对称的方式排列频谱
figure(4)
plot(f,abs(MM3));%原始语音信号与正弦信号相乘的幅度频谱
title('(原始语音信号*正弦信号)的频谱图');
xlabel('频率/Hz');

第三部分

% 本程序实现连续时间信号的抽样
clear
clear all
t0 = 0:0.001:0.1; % 信号持续的时间范围
x0 = cos(2*pi*40*t0); % 连续余弦信号,频率为 40Hz
L0 = length(t0); % 信号在 MATLAB 中存储的点数
f=80
Fs = f; % 抽样频率
t = 0:1/Fs:0.1; % 抽样信号的离散时间定义域和抽样间隔
x = cos(2*pi*40*t); % 抽样后得到的离散余弦信号
 
figure(1);
plot(t0,x0);%此处为t0,为连续信号
title('连续余弦信号');
 
figure(2) % 在同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'r'),hold on % 绘制连续时间信号的图形
stem(t,x),hold off % 绘制抽样后的离散时间信号的图形
title('连续时间信号及其抽样信号'); % 标题
%legend('连续时间信号','抽样信号',4) % 图例说明
 
Fs=2*f;%抽样频率2222222222222
t=0:1/Fs:0.1;%抽样信号的离散时间定义域和抽样间隔
x=cos(2*pi*40*t);%抽样后的到的离散余弦信号
figure(3);%再同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'g');hold on
stem(t,x,'r');%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为160Hz');
 
 
Fs=4*f;%抽样频率333333333333
t=0:1/Fs:0.1;%抽样信号的离散时间定义域和抽样间隔
x=cos(2*pi*40*t);%抽样后的到的离散余弦信号
figure(4);%再同一幅图中同时绘制连续时间信号和抽样后的离散时间信号
plot(t0,x0,'g');hold on
stem(t,x,'r');%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为320Hz');
tm=-10:0.001:10;%定义们信号的时间范围
U=rectpuls(tm,5);%产生门信号幅度为1,宽度为5的门信号  
f=1/5;%定义抽样频率
figure(5);%subplot(2,2,1)
plot(tm,U);%绘制门信号连续信号
title('门信号连续信号')
 
t2=-10:f:10;%抽样信号的离散时间定义域和抽样间隔
U2=rectpuls(t2,5);
figure(6)%subplot(2,2,2);%绘制抽样频率为f的离散信号
stem(t2,U2);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为fHz')
 
t3=-10:2*f:10;%抽样信号的离散时间定义域和抽样间隔
U3=rectpuls(t3,5);
figure(7)%subplot(2,2,3);%绘制抽样频率为2f的离散信号
stem(t3,U3);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为2fHz')
 
t4=-10:4*f:10;%抽样信号的离散时间定义域和抽样间隔
U4=rectpuls(t4,5);
figure(8)%subplot(2,2,4);%绘制抽样频率为4f的离散信号
stem(t4,U4);%绘制抽样后的离散时间信号
title('抽样信号 抽样频率为4fHz')
% 本程序实现对语音信号的抽样,输出抽样后的语音信号
clear
clear all
[m,fs,bits]=wavread('D:\FFOutput\1.wav'); %读取语音信号
y = m(:,1);
L = size(y); % L 为离散语音信号的长度
fs1 = fs/2; % 对离散信号 y 的抽样频率为原信号抽样频率的一半
y1 = y(1:2:L); % 对离散信号 y,每两个点中抽取一个点构成新的序列 y1
wavwrite(y1,fs1,bits,'D:\FFOutput\1.wav'); % 将向量 y1 输出为语音信号 cy1.wav
 
figure(1);
plot(y1); % 抽样后语音信号的波形图
title('抽样后的语音波形图'); % 标题
fs2=fs/4;% 对离散信号y的抽样频率为原信号抽样频率的1/4   存储时使用此抽样频率!!!!
y2=y(1:4:L);%对离散信号y,每4个点中取一个点构成新的序y2
wavwrite(y2,fs2,bits,'D:\FFOutput\1.wav');%!!存储语音(存储信号在程序中的名字, !!fs2抽样频率)
figure(2)
plot(y2);
title('抽样间隔为4的语音信号的波形');
 
fs3=fs/8;% 对离散信号y的抽样频率为原信号抽样频率的一半   存储时使用此抽样频率!!!!
y3=y(1:8:L);%对离散信号y,每两个点中取一个点构成新的序y3
wavwrite(y3,fs3,bits,'D:\FFOutput\1.wav');%!!存储语音(存储信号在程序中的名字, !!fs3抽样频率)
figure(3)
plot(y3);
title('抽样间隔为8的语音信号的波形');

你可能感兴趣的:(大数据)