信号与系统 实验三 傅里叶变换、系统的频域分析

本文介绍了使用MATLAB实现连续时间信号的傅里叶变换、分析LTI系统的频域特性和输出响应的方法。通过具体实例展示了MATLAB在信号处理领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:信号与系统第三次实验记录

一、实验目的

1、学会用 MATLAB 实现连续时间信号傅里叶变换

2、学会用 MATLAB 分析 LTI 系统的频域特性

3、学会用 MATLAB 分析 LTI 系统的输出响应

二、实验原理   

1.傅里叶变换的 MATLAB 求解

        MTLAB 的 symbolic Math Toolbox 提供了直接求解傅里叶变换及逆变换的函数

        fourier()及 ifourier()两者的调用格式如下。

Fourier 变换的调用格式

F=fourier(f):它是符号函数 f fourier 变换默认返回是关于 w 的函数。

F=fourier(fv):它返回函数 F 是关于符号对象 v 的函数,而不是默认的 w,即

F(v)=\int_{-\infty }^{+\infty }f(x)e^{-jvx}dx

Fourier 逆变换的调用格式

f=ifourier(F):它是符号函数 F fourier 逆变换,默认的独立变量为 w,默认返回是关于 x 的函数。

f=ifourier(f,u):它的返回函数 f u 的函数,而不是默认的 x.

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

例 4-1 f(t)e^{-2\left | t \right |} 的傅立叶变换

: 可用 MATLAB 解决上述问题:

syms t

Fw=fourier(exp(-2*abs(t)))

4-2 F(j\omega )=\frac{1}{1+\omega ^{2}}的逆变换 

解: 可用 MATLAB 解决上述问题

syms t w

ft=ifourier(1/(1+w^2),t)

2.连续时间信号的频谱图

例 4-3  求调制信号f(t)=AG_{\tau }cos\omega _{0}t的频谱,式中

A=4,\omega _{0}=12\pi ,\tau =\frac{1}{2},G_{\tau}(t)=u(t+\frac{\tau }{2})-u(t-\frac{\tau }{2})

 解:MATLAB 程序如下所示

%如果报错的话把sym  改为  str2sym

ft=sym('4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4))');

Fw=simplify(fourier(ft))

subplot(121)

ezplot(ft,[-0.5 0.5]),grid on

subplot(122)

ezplot(abs(Fw),[-24*pi 24*pi]),grid

        用 MATLAB 符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示

出错,这时用 MATLAB 的数值计算也可以求连续信号的傅里叶变换,计算原理是

F(j\omega )=\int_{-\infty }^{\infty }f(t)e^{-j\omega t}dt=\lim_{\tau \rightarrow 0}\sum_{n=-\infty }^{\infty }f(n\tau )e^{-j\omega nt}\tau

\tau足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时,

信号已衰减的很厉害,可以近似地看成时限信号时,n 的取值就是有限的,设为 N,有\sum_{n=0}^{N-1}f(n\tau )e^{-j\omega _{k}n\tau }\tau ,0\leqslant k\leqslant N,\omega _{k}=\frac{2\pi }{N\tau }k,是频率取样点

时间信号取样间隔\tau应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度要求确定一个频率 W0 为信号的带宽。

4-4  用数值计算法求信号f(t)=u(t+1)-u(t-1) 的傅里叶变换

解,信号频谱是F(j\omega )=2Sa(\omega ),第一个过零点是\pi,一般将此频率视为信号的带宽,若

将精度提高到该值的 50 倍,既\omega _{0}=50\pi,据此确定取样间隔,\tau <\frac{1}{2F_{0}}=0.02 

R=0.02;t=-2:R:2;

f=Heaviside(t+1)-Heaviside(t-1);

W1=2*pi*5;

N=500;k=0:N;W=k*W1/N;

F=f*exp(-j*t'*W)*R;

F=real(F);

W=[-fliplr(W),W(2:501)];

F=[fliplr(F),F(2:501)];

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

xlabel('t');ylabel('f(t)');

title('f(t)=u(t+1)-u(t-1)');

subplot(2,1,2);plot(W,F);

xlabel('w');ylabel('F(w)');

title('f(t)的付氏变换F(w)');
  1. 3. 用 MATLAB 分析 LTI 系统的频率特性                            
  2. 当系统的频率响应 H(jw)是 jw 的有理多项式时,有

H(j\omega )=\frac{B(w)}{A(w)}=\frac{b_{M}(j\omega )^{M}+b_{M-1}(j\omega )^{M-1}+L+b_{1}(j\omega )+b_{0}}{a_{N}(j\omega )^{N}+a_{N-1}(j\omega )^{N-1}+L+a_{1}(j\omega )+a_{0}}

        MATLAB 信号处理工具箱提供的 freqs 函数可直接计算系统的频率响应的数值解。其调用格式如下

H=freqs(b,a,w)

其中,ab分别是H(jw)的分母和分子多项式的系数向量,w为形如 w1:p:w2的向量,定义系统频率响应的频率范围,w1 为频率起始值,w2 为频率终止值,p为频率取样间隔。Hw所定义的频率点上,系统频率响应的样值。

例如,运行如下命令,计算 0~2pi 频率范围内以间隔 0.5 取样的系统频率响应的样值

a=[1 2 1];

b=[0 1];

h=freqs(b,a,0:0.5:2*pi)

例 4-5 三阶归一化的 butterworth 低通滤波器的频率响应为

H(j\omega )=\frac{1}{(j\omega)^{3}+2(j\omega)^{2}+2(j\omega)+1}

 试画出该系统的幅度响应|H(j\omega )|和相位响应\varphi (\omega )

解 其 MATLAB 程序及响应的波形如下

w=0:0.025:5;

b=[1];a=[1,2,2,1];

H=freqs(b,a,w);

subplot(2,1,1);

plot(w,abs(H));grid;

xlabel('\omega(rad/s)');

ylabel('|H(j\omega)|');

title('H(jw)的幅频特性');

subplot(2,1,2);

plot(w,angle (H));grid;

xlabel('\omega(rad/s)');

ylabel('\phi(\omega)');

title('H(jw)的相频特性');
  1. 4.用 MATLAB 分析 LTI 系统的输出响应

        例 4-6 已知一 RC 电路如图所示系统的输入电压为f(t),输出信号为电阻两端的电压 y(t)

RC=0.04,f(t)=cos5t+cos100t,-\infty <t<+\infty试求该系统的响应 y(t)

 

解 由图可知 ,该电路为一个微分电路,其频率响应为

H(j\omega )=\frac{R}{R+1/j\omega C}=\frac{j\omega }{j\omega +1/RC}

由此可求出余弦信号cos\omega _{0}t通过LTI系统的响应为

y(t)=|H(j\omega _{0})|cos(\omega _{0}t+\varphi (\omega _{0}))

计算该系统响应的 MATLAB 程序及响应波形如下

RC=0.04;

t=linspace(-2,2,1024);

w1=5;w2=100;

H1=j*w1/(j*w1+1/RC);

H2=j*w2/(j*w2+1/RC);

f=cos(5*t)+cos(100*t);

y=abs(H1)*cos(w1*t+angle(H1))+ abs(H2)*cos(w2*t+angle(H2));

subplot(2,1,1);

plot(t,f);

ylabel('f(t)');

xlabel('Time(s)');

subplot(2,1,2);

plot(t,y);

ylabel('y(t)');
三、 上机实验内容
1.验证实验原理中所述的相关程序;
2.试用 MATLAB 求单边指数数信号f(t)=e^{-at}u(t) 的傅立叶变换,并画出其波形;
%上机实验-1 试用 MATLAB 求单边指数数信号f=exp(-at)*u(t)的傅立叶变换,并画出其波形
syms t;
f=heaviside(t);
ft=exp(-1*t)*f;
Fw=fourier(ft)
ezplot(real(Fw));
grid on;

3.设 H(j\omega )=\frac{1}{0.08(j\omega )^{2}+0.4j\omega +1},试用MATLAB 画出该系统的幅频特性|H(j\omega )|和相频特性\varphi (\omega ),并分析系统具有什么滤波特性。
法一

clear all
R=0.02;t=-2:R:2;
f=exp(-1*t).*heaviside(t);
W1=2*pi*5;
N=500;k=0:N;
W=k*W1/N;
F=f*exp(-1i*t'*W)*R;
F=real(F);
W=[-fliplr(W),W(2:501)];
F=[fliplr(F),F(2:501)];
subplot(2,1,1);plot(t,f); 
xlabel('t');ylabel('f(t)');
title('f(t)=exp(-1*t)*u(t)');
subplot(2,1,2);
plot(W,F);
xlabel('w');ylabel('F(w)'); title('f(t)的付氏变换 F(w)');
syms a t
Fx=fourier(exp(-a*t)*heaviside(t))

法二

%上机实验-2 试用 MATLAB 画出该系统的幅频特性和相频特性,并分析系统具有什么滤波特性。

w=0:0.025:5;
b=[1];a=[0.08,0.4,1]; 
H=freqs(b,a,w);
subplot(2,1,1);
plot(w,abs(H));grid;
xlabel('\omega(rad/s)');
ylabel('|H(j\omega)|');
title('H(jw)的幅频特性');
subplot(2,1,2);
plot(w,angle (H));grid;
xlabel('\omega(rad/s)');
ylabel('\phi(\omega)');
title('H(jw)的相频特性');

分析:该系统为宽带5Hz的低通滤波器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值