1、打开搜旅MATLAB,新建脚本。
2、在编辑器里输入代码。
3、Tp是观察时间,我们设慎漏穗置为64微妙,即64/1000;接着输入的代码是产生M长采样序列x(n)。
4、把实验内容中给定的值设置好;再把给定的模拟信号式子输入进去。
5、subplot(3,2,1)的意思是:三行两列,在第一个位置作图。
6、代码输入完毕后,点击运行。
7、得宽卜到结果,对信号进行采样。
function [fmt] = seekfmts1(sig,Nt,fs,Nlpc)if nargin<4, Nlpc = round(fs/1000)+2end
ls=length(sig) % 数据长度
Nwin = floor(ls/Nt) % 帧长
for m=1:Nt,
lpcsig = sig((Nwin*(m-1)+1):min([(Nwin*m) ls]))% 取来一帧信号
if ~isempty(lpcsig),
a = lpc(lpcsig,Nlpc)% 计算LPC系数
const=fs/(2*pi) % 常数
rts=roots(a)% 求根
k=1 % 初始化
yf = []
bandw=[]
for i=1:length(a)-1
re=real(rts(i)) % 取根之实部
im=imag(rts(i)) % 取根之虚部
formn=const*atan2(im,re)% 计算共振峰频率
bw=-2*const*log(abs(rts(i)))% 计算带宽
if formn>150 &bw <700 &formn<fs/圆冲2 % 满足条件方能成共振峰和带宽
yf(k)=formn
bandw(k)=bw
k=k+1
end
end
[y, ind]=sort(yf) % 排序
bw=bandw(ind)
F = [NaN NaN NaN] % 初始化
F(1:min(3,length(y))) = y(1:min(3,length(y)))% 输出最多三个
F = F(:)% 按列输出
fmt(:,m)=F/(fs/2) % 归一化频率
end
end
from 《matlab在语音信号猜腔慎分析与穗敬合成中的应用》
clcclose all
clear all
ts=1/4000
dt=0.0001
t1=-0.01:dt:0.01
ft1=sin(2*pi*100*t1)
subplot(221)plot(t1,ft1,'linewidth',2)grid
axis([-0.01 0.01 -1.1 1.1])xlabel('姓名t(sec)')title('f(t)')
w=-200*pi:0.01:200*pi
f1=0.01*ft1*exp(-j*t1'*w)
subplot(222)plot(w,abs(f1),'linewidth',2)grid
xlabel('姓名\omega')title('|f(j\omega)|')
axis([-200*pi 200*pi -0.05 1.1])
t2=-0.01:ts:0.01
fst1=sin(2*pi*100*t2)
subplot(223)plot(t1,ft1,':')hold on
stem(t2,fst1)hold offgrid
axis([-0.01 0.01 -1.2 1.2])xlabel('姓名t(sec)')title('f_s(t)')
fsw1=ts*fst1*exp(-j*t2'*w)
subplot(224)plot(w,abs(fsw1),'linewidth',2)grid
axis([-200*pi 200*pi -0.001 0.011])
xlabel('姓名\omega')title('|f_s(\omega)|'备扰)第二个老滚侍:clc
close all
clear all
ts=1/4000
dt=0.0001
t1=-0.01:dt:0.01
ft2=sin(2*pi*200*t1)
subplot(221)plot(t1,ft2,'linewidth',2)grid
axis([-0.01 0.01 -1.1 1.1])xlabel('t(sec)')title('f(t)')
w=-200*pi:0.01:200*pi
f2=0.01*ft2*exp(-j*t1'*w)
subplot(222)plot(w,abs(f2),'linewidth',2)grid
xlabel('\omega')title('|f(j\omega)|')
axis([-200*pi 200*pi -0.05 0.21])
t2=-0.01:ts:0.01
fst2=sin(2*pi*200*t2)
subplot(223)plot(t1,ft2,':')hold on
stem(t2,fst2)hold offgrid
axis([-0.01 0.01 -1.2 1.2])xlabel('t(sec)')title('f_s(t)')
fsw2=ts*fst2*exp(-j*t2'*w)
subplot(224)plot(w,abs(fsw2),'linewidth',2)grid
axis([-200*pi 200*pi -0.001 0.0021])
xlabel('\omega')title('|f_s(\omega)|')
第三个:clc
close all
clear all
ts=1/4000
dt=0.0001
t1=-0.01:dt:0.01
ft3=sin(2*pi*3800*t1)
subplot(221)plot(t1,ft3,'linewidth',2)grid
axis([-0.01 0.01 -1.1 1.1])xlabel('t(sec)')title('f(t)')
w=-200*pi:0.01:200*pi
f3=0.0000263*ft3*exp(-j*t1'*w)
subplot(222)plot(w,abs(f3),'linewidth',2)grid
xlabel('\omega')title('|f(j\侍吵omega)|')
axis([-200*pi 200*pi -0.0000005 0.000011])
t2=-0.01:ts:0.01
fst3=sin(2*pi*3800*t2)
subplot(223)plot(t1,ft3,':')hold on
stem(t2,fst3)hold offgrid
axis([-0.01 0.01 -1.2 1.2])xlabel('t(sec)')title('f_s(t)')
fsw=ts*fst3*exp(-j*t2'*w)
subplot(224)plot(w,abs(fsw),'linewidth',2)grid
axis([-200*pi 200*pi -0.0001 0.0021])
xlabel('\omega')title('|f_s(\omega)|')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)