Matlab 怎么对信号进行采样

Matlab 怎么对信号进行采样,第1张

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在语音信号猜腔慎分析与穗敬合成中的应用》

clc

close 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)|')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12471811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存