【算法】语音信号的频谱分析matlab实现

clear
close all;
%设置系统参数%
f1=1e6; %设置波形频率
f2=500e3;
f3=800e3;
Fs=20e6; %设置采样频率 语音信号时应为fs0
L=1024; %数据长度 语音信号时应为s的数据长度
N=14; %数据位宽 可任意设置
%产生输入信号%
t=0:1/Fs:(1/Fs)(L-1);
s=sin(2
pif1t); % %[s,fs0] = audioread(‘sin_2500.wav’);
s=awgn(s,10,‘measured’);
%Fs = 128;% 采样频率
T = 1/Fs;% 采样时间
plot(t,s)
title(‘加噪声的信号’)
xlabel(‘时间(s)’)
N = 2^nextpow2(L); %采样点数,采样点数越大,分辨的频率越精确,N>=L,超出的部分信号补为0
Y = fft(s,N)/N2;%除以N乘以2才是真实幅值,N越大,幅值精度越高
f = Fs/N
(0:1:N-1); %频率
A = abs(Y);%幅值
P = angle(Y);%相值
figure;
subplot(211);plot(f(1:N/2),A(1:N/2));%函数fft返回值的数据结构具有对称性,因此我们只取前一半
title(‘幅值频谱’)
xlabel(‘频率(Hz)’)
ylabel(‘幅值’)
subplot(212);plot(f(1:N/2),P(1:N/2));
title(‘相位谱频’)
xlabel(‘频率(Hz)’)
ylabel(‘相位’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值