连续时间信号

    技术2022-07-11  77

    写在前面

    了解一些连续时间信号他们的处理以及MATLAB实现 **一.**用MATLAB实现信号f1(t)=sin(πt)和f2(t)=sin(10πt)的相加和相乘,试分别绘制这两个信号及它们的和信号和积信号的波形。 解:采用数值计算方法,代码如下

    t = 0:0.01:2; x1 = sin(1*pi*t); x2 = sin(6*pi*t) x3=x1+x2; x4=x1.*x2; % plotting the function subplot(2,2,1) plot(t, x1) xlabel('t (sec)'); ylabel('x(t)') subplot(2,2,2) plot(t, x2) xlabel('t (sec)'); ylabel('x(t)') subplot(2,2,3) plot(t, x3,t,x1+1,'r--',t,x1-1,'r--') xlabel('t (sec)'); ylabel('y(t)') subplot(2,2,4) plot(t, x4,t,x1,'r--',t,-x1,'r--') xlabel('t (sec)'); ylabel('y(t)')

    **二.**用MATLAB绘制例如图信号的奇、偶分量的波形,并绘制奇、偶分量的和信号的波形,比较是否和原信号一样。 解:采用符号计算方法,代码如下:

    %符号计算 syms t s u=heaviside(t); u1=heaviside(-t); f1=2*cos(3*t)*u; %f(t) f2=2*cos(-3*t)*u1; %f(-t) fe=0.5*(f1+f2); %偶分量 fo=0.5*(f1-f2); %奇分量 f=fe+fo; %合成的原信号 subplot(221) ezplot(f1, [-4, 4]); %原信号 grid subplot(222) ezplot(fe, [-4, 4]);%偶分量 grid subplot(223) ezplot(fo, [-4, 4]);%奇分量 grid subplot(224) ezplot(f, [-4, 4]); %合成的原信号 grid

    **三.**已知信号f(t)=e2t,试用MATLAB绘制其翻转信号f(–t)以及奇分量和偶分量的波形。 解:采用数值计算方法,代码如下

    %符号计算 syms t s f1=exp(2*t); %f(t) f2=exp(-2*t); %f(-t) fe=0.5*(f1+f2); %偶分量 fo=0.5*(f1-f2); %奇分量 f=fe+fo; %合成的原信号 subplot(221) ezplot(f1, [-4, 4]); %原信号 grid subplot(222) ezplot(fe, [-4, 4]);%偶分量 grid subplot(223) ezplot(fo, [-4, 4]);%奇分量 grid subplot(224) ezplot(f2, [-4, 4]); %翻转原信号 grid

    **四.**R(t)为斜变信号,ε(t)为阶跃信号,用MATLAB产生信号 f(t)=3R(t+3)–6R(t+1)+3R(t)–ε(t–2)–2ε(t–4) (1)绘制信号的波形;(2)绘制信号的奇、偶分量的波形。 解:先用function函数产生斜变信号ramp和单位阶跃信号ustep,然后调用这两个子函数产生所需要的信号。

    function y = ramp(t,m,ad) % t: time support 时间变量 % m: slope of ramp 斜率 % ad : advance (positive), delay (negative) factor 时移因子 N=length(t); y=zeros(1,N); for i=1:N, if t(i)>=-ad, y(i)=m*(t(i)+ad); end end function y=ustep(t,ad) % t: time % ad : advance (positive), delay (negative) N=length(t); y=zeros(1,N); for i=1:N, if t(i)>=-ad, y(i)=1; end end Ts=0.01; t=-5:Ts:5; y1=ramp(t,3,3); y2=ramp(t,-6,1); y3=ramp(t,3,0); y4=-1*ustep(t,-2); y5=-2*ustep(t,-4); y=y1+y2+y3+y4+y5; plot(t,y,'k'); axis([-5 5 -1 7]); grid figure %奇偶分解 [ye, yo]=evenodd(t,y); subplot(211) plot(t,ye,'r') grid axis([min(t) max(t) -1 5]) subplot(212) plot(t,yo,'r') grid axis([min(t) max(t) -3 3])

    是否对一些matlab函数处理连续时间信号有了一定掌握呢?欢迎评论区留言

    Processed: 0.014, SQL: 9