Digital Signal Processing Using Matlab读书笔记 第三章(七)(P63-P67)

定理3 取样原则

一个频带宽度为F0的带限信号xa(t),如过它的取样频率Fs大于频带宽度F0的两倍,则可以通过它的取样值x(n)重建。
在这里插入图片描述
否则将会导致x(n)信号的错误识别,一个模拟带宽信号的取样频率为2F0的话,该频率称为奈奎斯特频率。
应该注意的是,在xa(t)取样后,x(n)代表的最高模拟频率是Fs/2(或 w=pi)

matlab中的应用

使用matlab进行模拟信号的分析是不可能的,除非我们使用Symbolic toolbox,但是,如果我们对xa(t)以一个有足够小的增量来描述一个平滑曲线的良好间隔进行取样以及一个足够大的最大时间来展示所有的部分,然后我们可以近似地分析,让Δt称为一个格子间隔以至于Δt<<Ts,然后有以下式子
在这里插入图片描述
可以通过一个式子来模仿模拟信号,取样间隔Ts不应该与格子间隔Δt混淆,相似的,对应式子(3.30)有如下傅里叶变换
在这里插入图片描述
现在如果xa(t)是有限区间上的,那么式子(3.31)类似于DTFT关系(3.3),所以可以被应用在matlab中。
例3.17
在这里插入图片描述
在这里插入图片描述

>> %Analog Signal
>> Dt = 0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Continuous-time Fourier Transform
>> Wmax = 2 * pi *2000;K = 500;k=0:1:K;W=k*Wmax/K;
>> Xa=xa*exp(-j*t'*W)*Dt;Xa=real(Xa);
>> W=[-fliplr(W),W(2:501)];%Omega from -Wmax to Wmax
>> Xa=[fliplr(Xa),Xa(2:501)];%Xa over -Wmax to Wmax interval
>> subplot(1,1,1)
>> subplot(2,1,1);
>> plot(t*1000,xa);
>> subplot(2,1,2);plot(W/(2*pi*1000),Xa*1000);

在这里插入图片描述
在这里插入图片描述
例3.18
在这里插入图片描述
a.因为xa(t)的频带宽度为2KHz,奈奎斯特频率为4KHz,小于所给定的Fs,所以混叠是几乎不存在的

>> %Analog Signal
>> Dt=0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Discrete-time Signal
>> Ts=0.0002;n=-25:1:25;x=exp(-1000*abs(n*Ts));
>> %Discrete-time Fourier transform
>> K=500;k=0:1:K;w=pi*k/K;
>> X=x*exp(-j*n'*w);X=real(X);
>> w=[-fliplr(w),w(2:K+1)];
>> X=[fliplr(X),X(2:K+1)];
>> subplot(1,1,1)
>> subplot(2,1,1);plot(t*1000,xa);
>> xlabel('t in msec.');ylabel('x1(n)')
>> title('Discrete Signal');hold on
>> stem(n*Ts*1000,x);gtext('Ts=0.2msec');hold off
>> subplot(2,1,2);plot(w/pi,X);
>> xlabel('Freqency in pi units');ylabel('X1(w)')
>> title('Discrete-time Fourier Transform')

在这里插入图片描述
b.这里Fs=1000<4000.所以将会有大量的混叠

>> %Analog Signal
>> Dt=0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));
>> %Discrete-time Signal
>> Ts=0.001;n=-25:1:25;x=exp(-1000*abs(n*Ts));
>> %Discrete-time Fourier transform
>> K=500;k=0:1:K;w=pi*k/K;
>> X=x*exp(-j*n'*w);X=real(X);
>> w=[-fliplr(w),w(2:K+1)];
>> X=[fliplr(X),X(2:K+1)];
>> subplot(1,1,1)
>> subplot(2,1,1);plot(t*1000,xa);
>> xlabel('t in msec.');ylabel('x1(n)')
>> title('Discrete Signal');hold on
>> stem(n*Ts*1000,x);gtext('Ts=0.2msec');hold off
>> subplot(2,1,2);plot(w/pi,X);
>> xlabel('Freqency in pi units');ylabel('X1(w)')
>> title('Discrete-time Fourier Transform')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字信号处理(Digital Signal Processing,DSP)是一种通过对数字信号进行算法处理来改善其质量、提取有用信息和识别特征的技术。使用MATLAB进行数字信号处理可以帮助我们理解DSP的基本概念和原理。 MATLAB是一种功能强大的数值计算和编程环境,它提供了各种工具和函数用于数字信号处理。首先,我们需要了解采样定理和信号表示,即如何将连续时间信号转换为离散时间信号以便进行处理。MATLAB提供了丰富的函数用于生成、采样和绘制信号。 接下来,我们可以学习滤波技术,包括数字滤波器的设计和实现。MATLAB提供了多种滤波器设计方法,例如离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和卷积等。我们可以利用这些工具来设计低通滤波器、高通滤波器、带通滤波器等。 除了滤波技术,我们还可以学习变换技术,如傅里叶变换和小波变换。这些变换可以将信号从时域转换到频域,使我们能够分析信号的频谱特征。MATLAB提供了丰富的变换函数和工具箱,使我们能够进行频谱分析、频域滤波和频率域特征提取。 此外,MATLAB还提供了用于数字信号处理的工具箱,如信号处理工具箱和通信工具箱。这些工具箱包含了许多预定义的函数和算法,可用于数字信号处理和通信系统的建模和仿真。 总之,使用MATLAB进行数字信号处理可以帮助我们深入了解DSP的基本原理和方法。通过学习和实践,我们可以熟练应用MATLAB的函数和工具来处理和分析数字信号,提取有用的信息并解决实际问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值