• 大小: 26.96MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-07-15
  • 语言: Matlab
  • 标签: 源代码  

资源简介

语音信号处理实验教程(MATLAB源代码),书籍配套完整源代码。语音信号处理实验教程-源代码

资源截图

代码片段和文件信息

clc
clear all
%***************1.正弦波****************%
fs =100;                                            %设定采样频率
N =128;
n =0:N -1;
t = n/ fs;
f0 =10;                                             %设定正弦信号频率
%生成正弦信号
x = sin(2*pi*f0*t);
figure(1);
subplot(231);
plot(tx); %作正弦信号的时域波形
xlabel(‘时间/ s‘);
ylabel(‘幅值‘);
title(‘时域波形‘);
grid;
%进行FFT 变换并做频谱图
y = fft(xN);                                       %进行FFT 变换
mag = abs(y);                                   %求幅值
f = (0:length(y) -1)‘*fs/ length(y);        %进行对应的频率转换
subplot(232);
plot(fmag);                                        %作频谱图
axis([0100080]);
xlabel(‘频率/ Hz‘);
ylabel(‘幅值‘);
title(‘幅频谱图‘);
grid;
%求均方根谱
sq = abs(y);
subplot(233);
plot(fsq);
xlabel(‘频率/ Hz‘);
ylabel(‘均方根谱‘);
title(‘均方根谱‘);
grid;
%求功率谱
power = sq.^2;
subplot(234);
plot(fpower);
xlabel(‘频率/ Hz‘);
ylabel(‘功率谱‘);
title(‘功率谱‘);
grid;
%求对数谱
ln = log(sq);
subplot(235);
plot(fln);
xlabel(‘频率/ Hz‘);
ylabel(‘对数谱‘);
title(‘对数谱‘);
grid;
%用IFFT 恢复原始信号
xifft = ifft(y);
magx = real(xifft);
ti = [0:length(xifft)-1] / fs;
subplot(236);
plot(timagx);
xlabel(‘时间/ s‘);
ylabel(‘幅值‘);
title(‘IFFT 后的信号波形‘);
grid;
%****************2.白噪声****************%
fs =50;                                              %设定采样频率
t = -5:0.1:5;
x = rand(1100);
figure(2);
subplot(231);
plot(t(1:100)x);                               %作白噪声的时域波形
xlabel(‘时间(s)‘);
ylabel(‘幅值‘);
title(‘时域波形‘);
grid;
%进行FFT 变换并做频谱图
y = fft(x);                                     %进行FFT 变换
mag = abs(y);                               %求幅值
f = (0:length(y) -1)‘*fs/ length(y); %进行对应的频率转换
subplot(232);
plot(fmag);                                    %作频谱图
xlabel(‘频率/ Hz‘);
ylabel(‘幅值‘);
title(‘幅频谱图‘);
grid;
%求均方根谱
sq = abs(y);
subplot(233);
plot(fsq);
xlabel(‘频率/ Hz‘);
ylabel(‘均方根谱‘);
title(‘均方根谱‘);
grid;
%求功率谱
power = sq.^2;
subplot(234);
plot(fpower);
xlabel(‘频率/ Hz‘);
ylabel(‘功率谱‘);
title(‘功率谱‘);
grid;
%求对数谱
ln = log(sq);
subplot(235);
plot(fln);
xlabel(‘频率/ Hz‘);
ylabel(‘对数谱‘);
title(‘对数谱‘);
grid;
%用IFFT 恢复原始信号
xifft = ifft(y);
magx = real(xifft);
ti = [0:length(xifft)-1] / fs;
subplot(236);
plot(timagx);
xlabel(‘时间/ s‘);
ylabel(‘幅值‘);
title(‘IFFT 后的信号波形‘);
grid;

评论

共有 条评论