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

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

一、实验目的

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的低通滤波器

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 信号与系统是一个重要的工程学科,用于研究信号的传输和处理。傅里叶变换信号与系统中最基本的学工具之一,它可以将一个信号从时域转换到频域。在Matlab实验中,我们可以使用内置的函和工具箱来进行傅里叶变换。 首先,我们要创建一个信号,可以是一个正弦波、方波或其他类型的信号。我们可以使用Matlab波形生成函来创建一个信号,并可以设置信号的振幅、频率和时长。 接下来,我们使用Matlab傅里叶变换信号进行变换。最常用的函是fft(),它可以计算离散傅里叶变换。这个函信号从时域转换到频域,并返回一个复组,其中包含信号的幅度和相位信息。 在得到傅里叶变换结果后,我们可以通过取模和相位计算信号的频谱。频谱显示了信号在不同频率上的强度。我们可以使用Matlab的plot()函绘制频谱图,以便更好地分析信号的频率特性。 此外,在Matlab中还有一些其他的傅里叶变换,例如fftshift()和ifft()。fftshift()可以将频谱移动到中心,ifft()可以进行逆傅里叶变换,将信号从频域转换回时域。 通过进行傅里叶变换实验,我们可以更好地理解信号的频率特性和频谱变换过程。这对于信号处理、信号传输和通信系统设计等工程领域都非常重要。Matlab提供了强大的工具和函,可以帮助我们进行傅里叶变换的分析和实验。 ### 回答2: 信号与系统是电子信息类专业中非常重要的一门课程,而傅里叶变换信号与系统中的一个重要概念和工具。Matlab是一种非常强大的学计算软件,在信号与系统课程中也被广泛应用。 信号可以是连续的或离散的,而傅里叶变换可以将时域信号转换为频域信号,从而可以更加直观地观察和分析信号的特性。在Matlab中,我们可以使用fft函来进行傅里叶变换。 在进行傅里叶变换实验时,我们可以从一些简单的信号开始。例如,我们可以定义一个正弦信号sin(t),然后使用fft函对其进行傅里叶变换。通过绘制频谱图,我们可以观察到正弦信号在频域中的频率和幅度。 此外,我们还可以进行频谱分析实验。输入一个含有多个频率成分的信号,例如s(t) = 2*cos(2*pi*f1*t) + 3*sin(2*pi*f2*t),其中f1和f2分别代表两个频率。通过对s(t)进行傅里叶变换,我们可以得到频谱图,从中可以清晰地看到两个频率成分的幅度和频率。 此外,在Matlab中还可以进行滤波实验。我们可以通过设计一个滤波器来滤除特定频率的成分。例如,我们可以设计一个低通滤波器,将高频成分过滤掉,只保留低频成分。 傅里叶变换信号与系统课程中扮演着非常重要的角色,能够帮助我们更好地理解信号的特性和分析信号。通过Matlab实验,我们可以直观地观察信号的频谱特性,并进行一些相关的实验和分析。这些实验可以帮助我们更深入地了解信号与系统中的傅里叶变换这一概念和工具。 ### 回答3: 傅里叶变换信号与系统中非常重要的概念之一,它可以用于信号的频谱分析和信号处理。MATLAB是一个强大的学计算软件,它提供了丰富的工具和函,可以方便地进行傅里叶变换的计算和分析。 在MATLAB中,可以使用fft函来计算信号傅里叶变换,fft函的输入参信号的离散样本,输出结果是信号的频谱。通过对频谱进行进一步的分析和处理,可以得到很多有用的信息。 首先,我们可以使用fft函计算信号的幅度谱和相位谱。幅度谱表示信号在不同频率上的能量强度,可以通过abs函得到;相位谱表示信号在不同频率上的相位信息,可以通过angle函得到。这样,我们可以对信号在频域上的特性进行分析,比如找到信号的主要频率成分,判断信号的频率分布情况,等等。 其次,我们可以使用ifft函来计算信号的逆傅里叶变换,将信号从频域转换回时域。通过将信号的频谱进行逆变换,我们可以恢复原始信号波形,并对信号进行处理和修改。 另外,MATLAB还提供了许多其他与傅里叶变换相关的函和工具,比如fftshift函可以将频谱进行平移,fft2函可以进行二维信号傅里叶变换等等。这些函和工具使得信号傅里叶变换MATLAB中变得更加方便和灵活。 总的来说,信号与系统中的傅里叶变换是一项重要的实验内容,通过MATLAB进行实验可以更好地理解和应用傅里叶变换MATLAB提供了丰富的函和工具,可以进行信号傅里叶变换计算和分析,从而更好地了解信号在频域上的特性,并对信号进行处理和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值