数字信号处理的matlab实现.docx

上传人:b****2 文档编号:2462586 上传时间:2022-10-29 格式:DOCX 页数:22 大小:26.72KB
下载 相关 举报
数字信号处理的matlab实现.docx_第1页
第1页 / 共22页
数字信号处理的matlab实现.docx_第2页
第2页 / 共22页
数字信号处理的matlab实现.docx_第3页
第3页 / 共22页
数字信号处理的matlab实现.docx_第4页
第4页 / 共22页
数字信号处理的matlab实现.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数字信号处理的matlab实现.docx

《数字信号处理的matlab实现.docx》由会员分享,可在线阅读,更多相关《数字信号处理的matlab实现.docx(22页珍藏版)》请在冰豆网上搜索。

数字信号处理的matlab实现.docx

数字信号处理的matlab实现

数字信号处理的matlab实现

简谐振动的特性完全取决于振幅、频率、初相位角。

x1=(0.5).^t;

x1=0.5*sin(2*pi*f*t+pi/4);

x1=[(n-n0)>=0];%阶跃信号

x1=[(n-n0)==0];%脉冲信号

y=sin(pi*x+eps)./(pi*x+eps);%sincfunction,eps是matlab系统的精度,这里防止被零除

n=[-10:

10];

alpha=-0.1+0.3*j;

x=exp(alpha*n);%复指数信号

rx=real(x);

ix=imag(x);

mx=abs(x);%振幅

px=(180/pi)*angle(x);%相位,并转换为度

x=rand(1,10);

x=randn(1,10);%guassseriesnumbers

xp=[xxxxx];

x2=fliplr(x);%左右折叠

第二章信号

%testsamplingrule

dt=0.01;%sampingfrequencefordraw100Hz

t=0:

dt:

1;

f=10;

x=sin(2*pi*f*t+0.3);

dt1=0.1;t1=0:

dt1:

1;%10Hz

x1=sin(2*pi*f*t1+0.3);

dt2=0.05;t2=0:

dt2:

1;%10Hz

x2=sin(2*pi*f*t2+0.3);

subplot(3,1,1),plot(t,x);

title('f=10Hz,fs=100Hz');

subplot(3,1,2),plot(t1,x1),holdon,stem(t1,x1),plot(t,x);

title('f=10Hz,fs=10Hz');

subplot(3,1,3),plot(t2,x2),holdon,stem(t2,x2),plot(t,x);

title('f=10Hz,fs=20Hz');

基本信号:

x1=(0.5).^t;%指数信号

x1=0.5*sin(2*pi*f*t+pi/4);%余弦信号

x1=[(n-n0)>=0];%阶跃信号

x1=[(n-n0)==0];%脉冲信号

y=sin(pi*x+eps)./(pi*x+eps);%sincfunction,eps是matlab系统的精度,这里防止被零除,sinc函数信号

n=[-10:

10];

alpha=-0.1+0.3*j;

x=exp(alpha*n);%复指数信号

rx=real(x);

ix=imag(x);

mx=abs(x);%振幅

px=(180/pi)*angle(x);%相位,并转换为度

x=rand(1,10);%随机信号

x=randn(1,10);%高斯随机序列

xp=[xxxxx];%复制

信号运算:

时移,倒置,

尺度改变x2=fliplr(x);%左右折叠

信号加

信号微分和积分

%test2微分和积分

clearall;clc;

dt=0.01;t=0:

dt:

4*pi;

y=sin(t);

y1=diff(y)/dt;%微分,dt为采样间隔

forii=1:

length(y)%积分,dt为采样间隔

y2(ii)=sum(y(1:

ii))*dt;

end

subplot(3,1,1),plot(t,y);

subplot(3,1,2),plot(t,[0y1]);%微分后信号比原信号少一个元素,用零补

subplot(3,1,3),plot(t,y2);

gridon;

xlabel('Time/s');

ylabel('Amplitude');

信号乘

注意:

若参与信号乘的两个信号长度不一样,则必须进行转换之后才能在matlab中进行操作。

%test3信号乘,滤波器滤波。

注意振幅谱的绘制方法

clearall;clc;

dt=0.02;df=1/(6000*dt);%采样间隔为0.02s,则2min内数据个数为6000,df为信号频率分辨率n=0:

2999;%折叠频率之前(取前3000个)数据进行操作

f=n*df;%给出频率序列

sig=rand(1,length(n));%运用随机函数产生信号振幅谱

filt=[ones(1,5/df),zeros(1,(length(n)-5/df))];%理想滤波器幅频响应函数

subplot(3,1,1),plot(n*df,sig);

subplot(3,1,2),plot(n*df,filt,'LineWidth',3);

subplot(3,1,3),plot(n*df,sig.*filt);

gridon;

xlabel('Time/s');

ylabel('Amplitude');

信号奇偶性

第三章Fourier变换

一个带相位的余弦函数可以看成一个不带相位的正弦函数与一个不带相位的余弦函数的合成。

谐波函数是周期函数中最简单的函数,它描述的也是最简单的周期现象,在实际中遇到的周期现象往往比它复杂的多。

但这些复杂函数均在一定近似程度上可分解为不同频率的正弦函数和余弦函数。

可以将一种复杂的函数分解为一系列不同频率的正弦函数和余弦函数。

1周期函数的Fourier变换

连续傅里叶级数

2离散Fourier变换

离散傅里叶级数

对于一个有限长观测数据序列来说,使用Fourier级数法求得的各种周期或频率都是有限的。

?

?

?

?

=1

?

?

?

?

=?

?

?

?

?

?

?

=,T为所取数据总的时间长度?

?

?

?

Nyquist频率由取样间隔?

?

?

来决定,为取样间隔2倍的倒数。

Ck表示了k次谐波的振幅大小。

观察哪些分量的振幅大,哪些分量的振幅小,看出所给波列种含有哪种频率成分,如果我们想滤掉某种频率的波,直接去掉该频率的谐波即可。

我们通常用频率作为横坐标,用振幅作为纵坐标绘出图形来研究频率与振幅的关系,简称为振幅谱。

3信号的Fourier分解与合成举例

%test3DFT

clearall

N=256;dt=0.05;%datanumbersandsamplingintervel,samplingfrequenceis20Hz

n=0:

N-1;t=n*dt;%序号序列和时间序列

x1=sin(2*pi*t);

x2=0.5*sin(2*pi*5*t);

x=sin(2*pi*t)+0.5*sin(2*pi*5*t);%signalsadd

m=floor(N/2)+1;%downforinteger

a=zeros(1,m);b=zeros(1,m);

fork=0:

m-1

forii=0:

N-1

a(k+1)=a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N);%matlab'sarrayindexmustbeincreasefrom1b(k+1)=b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N);

end

c(k+1)=sqrt(a(k+1).^2+b(k+1).^2);

end

if(mod(N,2)~=1)a(m)=a(m)/2;end

forii=0:

N-1

xx(ii+1)=a

(1)/2;

fork=1:

m-1;

xx(ii+1)=xx(ii+1)+a(k+1)*cos(2*pi*k*ii/N)+b(k+1)*sin(2*pi*k*ii/N);

end

end

subplot(4,1,1),plot(t,x1);title('orignalsignalOne'),xlabel('Time/s');

subplot(4,1,2),plot(t,x2);title('orignalsignalTwo'),xlabel('Time/s');

%subplot(4,1,1),plot((0:

N-1)*dt,xx);title('Composedsitgnal');

subplot(4,1,3),plot(t,x);title('orignalsignal'),xlabel('Time/s');

subplot(4,1,4),plot((0:

m-1)/(N*dt),c),title('Fouriertransform'),xlabel('Frequence/Hz'),ylabel('Amplitude');此处的1Hz和5Hz的振幅与原来信号振幅不完全一致,是由于数据采样点较少导致的,即N较小。

离散有限信号的频谱为周期谱。

方波及其Fourier分解系数和合成与原始方波信号对比

%test4方波的DFT分解和合成

clearall;closeall

N=200;dt=4/N;

forn=1:

N%方波信号

if(n*dt>=2)

x(n)=0.8;

else

x(n)=-0.8;

end

end

figure

(1)

subplot(2,1,1),plot((1:

N)*dt,x),holdon;

plot((1:

N)*dt,zeros(1,N),'k'),xlabel('Time/s'),

title('Orignalsignal');

a=zeros(1,N),b=zeros(1,N);

nn=floor(N/2)+1;

fork=0:

nn-1%DFT分解方波信号,得到a和b

a(k+1)=0;

b(k+1)=0;

forii=0:

N-1

a(k+1)=a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N);

b(k+1)=b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N);

end

c(k+1)=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1