matlab课程设计

发布 2022-10-01 01:16:28 阅读 2620

连续时间信号的频域信号**。

一、设计目的:

学会matlab的使用,掌握matlab的程序设计方法。

学会用matlab对信号进行分析和处理。

掌握连续时间信号的频域特性**方法。

二、课程设计原理:

matlab的symbolic math toolbox 提供了能直接求解傅立叶变换及其逆变换的函数fourier( )和ifourier( )

f=fourier(f)是符号函数f的fourier变换,默认返回是关于ω的函数。

f=ifourier(f)是函数f的fourier逆变换,默认的独立变量是ω,默认返回是关于x的函数。

注意:·在调用函数fourier( )和ifourier( )之前,需用syms命令对所用到的变量进行说明,即要将这些变量说明成符号变量。

采用fourier( )和ifourier()得到的返回函数,仍然是符号表达式。如需对返回的函数作图,则应用ezplot()绘图命令而不是用plot()命令。如果返回函数中含有诸如狄拉克函数δ(t)等的项,则用ezplot()也无法作图。

三、编程方案及其结果分析:

一、求出阶跃函数、门函数、正弦函数、余弦函数、取样函数sa(t)等函数的傅立叶变换,并对应画出其时域信号波形和频谱图。

1)单位阶跃函数。

程序:t=[-2:0.05:2];w=[0:0.1:10];

f=he**iside(t);

y1=fourier(sym('he**iside(t)')

subplot(2,1,1),plot(t,f)

axis([-2,2,-0.5,1.1])

subplot(2,1,2),ezplot(abs(y1))

axis([-2,2,-50,100])

结果:傅立叶变换:y =pi*dirac(w)-i/w

2)门函数。

程序:t=[-2:0.05:2];w=[0:0.1:10];

f=he**iside(t+1)-he**iside(t-1);

y2=fourier(sym('he**iside(t+1)-he**iside(t-1)')

subplot(2,1,1),plot(t,f)

axis([-2,2,-0.5,1.1])

subplot(2,1,2),ezplot(abs(y2))

结果:傅立叶变换:y =2/w*sin(w)

3)正弦函数:

程序:clear;close all

t1=-7;dt=.05;tf=7*pi;

t=[t1:dt:tf];

w=0:.5:7;

f=sin(t);

y=fourier(sym('sin(t)')

subplot(2,1,1),plot(t,f)

subplot(2,1,2),ezplot(abs(y))

结果:傅立叶变换:y =i*pi*(dirac(w+1)-dirac(w-1))

4)余弦函数:

程序:clear;close all

t1=-7;dt=.05;tf=7*pi;

t=[t1:dt:tf];

w=0:.5:7;

f=cos(t);

y=fourier(sym('cos(t)')

subplot(2,1,1),plot(t,f)

axis([0,25,-1.1,1.1])

subplot(2,1,2),ezplot(abs(y))

结果:傅立叶变换:y =pi*(dirac(w+1)+dirac(w-1))

5)指数函数:

程序:t=-6*pi:.02:6*pi;

ft=exp(-2*t);

subplot(3,1,1),plot(t,ft),grid on

axis([-1,5,-10,10])

f=sym('exp(-2*t)*he**iside(t)')

f=fourier(f)

subplot(3,1,2),ezplot(abs(f)),grid on

subplot(3,1,3),ezplot(atan(imag(f)/real(f)))grid on

结果:傅立叶变换:f =1/(2+i*w)

6)取样函数:

程序:clear;close all

t1=-7;dt=.05;tf=7*pi;

t=[t1:dt:tf];

w=0:.5:7;

f=sinc(t);

y=fourier(sym('sin(t)/t'))

subplot(2,1,1),plot(t,f)

axis([-6,6,-0.5,1.2])

subplot(2,1,2),ezplot(abs(y))

结果:傅立叶变换:y =pi*(-he**iside(w-1)+he**iside(w+1))

二、求下列信号的傅立叶变换,并对应画出其时域信号波形和频谱图分析傅立叶变换的性质。

程序:syms t w

f1=sin(t)/t;

f2=sin(-t)/(t);

f3=sin(2*t)/(2*t);

f4=sin(t-2)/(t-2);

f5=sin(t+2)/(t+2);

f6=(sin(t)/t)*exp(-j*3*t);

f7=(sin(t)/t)*exp(j*3*t);

dydx=sinc(t);

f8=diff(dydx)./diff(t);

y1=fourier(f1)

y2=fourier(f2)

y3=fourier(f3)

y4=fourier(f4)

y5=fourier(f5)

y6=fourier(f6)

y7=fourier(f7)

y8=fourier(f8)

结果:函数的傅立叶变换:

y1 =pi*(-he**iside(w-1)+he**iside(w+1))

y2 =pi*(-he**iside(w-1)+he**iside(w+1))

y3 =1/2*pi*(-he**iside(w-2)+he**iside(w+2))

y4=1/2*pi*(-2*exp(-2*i)*exp(-2*i*(w-1))*he**iside(w-1)+2*exp(2*i)*exp(-2*i*(w+1))*he**iside(w+1)-exp(2*i)*exp(-2*i*(w+1))+exp(-2*i)*exp(-2*i*(w-1)))

y5=1/2*pi*(-2*exp(2*i)*exp(2*i*(w-1))*he**iside(w-1)+2*exp(-2*i)*exp(2*i*(w+1))*he**iside(w+1)-exp(-2*i)*exp(2*i*(w+1))+exp(2*i)*exp(2*i*(w-1)))

f6 =pi*(he**iside(w+4)-he**iside(w+2))

f7 = pi*(he**iside(w-2)-he**iside(w-4))

y8 =i*pi*w*(-he**iside(w-1)+he**iside(w+1))

时域程序:clear;close all

t=[0:.2:2];

f1=sinc(t);

f2=sinc(-t);

f3=sinc(2*t);

f4=sinc(t-2);

f5=sinc(t+2);

f6=(sin(t)/t)*exp(-j*3*t);

f7=(sin(t)/t)*exp(j*3*t);

t=linspace(0,2*pi,50);

f8=sinc(t);

dydt=diff(f8)./diff(t);

subplot(3,3,1),plot(f1)

subplot(3,3,2),plot(f2)

subplot(3,3,3),plot(f3)

subplot(3,3,4),plot(f4)

subplot(3,3,5),plot(f5)

subplot(3,3,6),plot(f6)

subplot(3,3,7),plot(f7)

subplot(3,3,8),plot(f8)

结果:频域程序:

syms t w

f1=sin(t)/t;

f2=sin(-t)/(t);

f3=sin(2*t)/(2*t);

f4=sin(t-2)/(t-2);

f5=sin(t+2)/(t+2);

f6=(sin(t)/t)*exp(-j*3*t);

f7=(sin(t)/t)*exp(j*3*t);

y1=fourier(f1);

y2=fourier(f2);

y3=fourier(f3);

y4=fourier(f4);

y5=fourier(f5);

y6=fourier(f6);

y7=fourier(f7);

y=sin(t)/t;

dydt=diff(y)./diff(t);

y8=fourier(dydt)

subplot(3,3,1),ezplot(abs(y1))

title('y1')

subplot(3,3,2),ezplot(abs(y2))

title('y2')

subplot(3,3,3),ezplot(abs(y3))

title('y3')

subplot(3,3,4),ezplot(abs(y4))

title('y4')

subplot(3,3,5),ezplot(abs(y5))

title('y5')

subplot(3,3,6),ezplot(abs(y6))

title('y6')

subplot(3,3,7),ezplot(abs(y7))

title('y7')

subplot(3,3,8),ezplot(abs(y8))

title('y8')

结果:性质验证:

clear;close all

syms t

f=sym('(sin(t)/t)*(he**iside(t+1)-he**iside(t))'

f=f+sym('(he**iside(t)-he**iside(t-1))'

f1=subs(f,t,t-2)

f2=subs(f,t,t+2)

f3=subs(f,t,2*t)

f4=subs(f,t,-t)

subplot(2,3,1),ezplot(f),grid on

title('f=sa(t)')

subplot(2,3,2),ezplot(f1),grid on

title('f=sa(t-2)')

subplot(2,3,3),ezplot(f2),grid on

title('f=sa(t+2)')

MATLAB课程设计

1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...

MATLAB课程设计

课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...

MATLAB课程设计

matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...