%实验要求二:根据共振峰频率绘制二阶谐振曲线
clc
clear all
close all
f = [500 1500 2500];
sampleRate = 8000;
pitch = 100;
f1=f(1);f2=f(2);f3=f(3);
%冲激函数
yt=zeros(1,8000);
yt(1)=1;
if f1 > 0
cft = f1/sampleRate;
bw = 50;
q = f1/bw;
rho = exp(-pi * cft / q);
theta = 2 * pi * cft * sqrt(1-1/(4 * q*q));
a2 = -2*rho*cos(theta);
a3 = rho*rho;
y=filter([1+a2+a3],[1,a2,a3],yt);
end;
figure
N=length(y);
fn=(0:N-1)*sampleRate/N;
fftg=fft(y);
disg=20*log10(abs(fftg));
plot(fn(1:N/2+1),disg(1:N/2+1))
% line([0 sampleRate/2],[0 0])
xlabel('频率/Hz')
ylabel('幅度/dB')
title('(a)第一共振峰的二阶谐振器')
% 根据指定的共振峰频率和带宽(50Hz)建模语音信号中的共振峰
% 第二共振峰
if f2 > 0
cft = f2/sampleRate;
bw = 50;
q = f2/bw;
rho = exp(-pi * cft / q);
theta = 2 * pi * cft * sqrt(1-1/(4 * q*q));
a2 = -2*rho*cos(theta);
a3 = rho*rho;
y=filter([1+a2+a3],[1,a2,a3],y);
end;
figure
N=length(y);
fn=(0:N-1)*sampleRate/N;
fftg=fft(y);
disg=20*log10(abs(fftg));
plot(fn(1:N/2+1),disg(1:N/2+1))
% line([0 sampleRate/2],[0 0])
xlabel('频率/Hz')
ylabel('幅度/dB')
title('(b)第二共振峰的二阶谐振器')
% 根据指定的共振峰频率和带宽(50Hz)建模语音信号中的共振峰
% 第三共振峰
if f3 > 0
cft = f3/sampleRate;
bw = 50;
q = f3/bw;
rho = exp(-pi * cft / q);
theta = 2 * pi * cft * sqrt(1-1/(4 * q*q));
a2 = -2*rho*cos(theta);
a3 = rho*rho;
y=filter([1+a2+a3],[1,a2,a3],y);
end;
figure
N=length(y);
fn=(0:N-1)*sampleRate/N;
fftg=fft(y);
disg=20*log10(abs(fftg));
plot(fn(1:N/2+1),disg(1:N/2+1))
% line([0 sampleRate/2],[0 0])
xlabel('频率/Hz')
ylabel('幅度/dB')
title('(c)第三共振峰的二阶谐振器')
没有合适的资源?快使用搜索试试~ 我知道了~
基于matlab实现语音信号生成的数学模型
共2个文件
m:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 16 浏览量
2022-07-10
19:04:20
上传
评论
收藏 1KB RAR 举报
温馨提示
基于matlab实现语音信号生成的数学模型
资源推荐
资源详情
资源评论
收起资源包目录
基于matlab实现语音信号生成的数学模型.rar (2个子文件)
基于matlab实现语音信号生成的数学模型
C2_4_y_2.m 2KB
C2_4_y_1.m 611B
共 2 条
- 1
资源评论
Sherry_shiry
- 粉丝: 2
- 资源: 1097
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功