对AM信号FFT的matlab仿真

普通调幅波AM的频谱,大信号包络检波频谱分析 u(t)=Ucm(1+macos ?t)cos ?ct ma称为调幅系数 它的频谱由载波,上下边频组成 , 包络检波中二极管截去负半周再用电容低通滤波,可以得到基带信号,那么,截去负半周后的AM信号必定包含基带信号的频谱。我们可以通过matlab来验证。

%已知基带信号为1hz,载波为64hz,调制系数ma=0.3,采样频率1024hz,FFT变换区间N为2048

clear;
fs=1024;
f=1;     %1hz基带信号
fc=64;   %64hz载波
t=0:1/fs:2-0.5/fs;    %采样时间为0到2秒
x=(1+0.3*cos(2*pi*f*t)).*cos(2*pi*fc*t);  %调幅表达式
figure(1);   %在第一个窗口中画图
plot(t,x);
grid;       %画方格线
%画出采样时间内的AM信号

y=fft(x);
N=length(x);
figure(2);
stem((0:N-1)*fs/N,abs(y),‘.‘);   %画出以模拟频率为横坐标,以FFT后的幅度为纵坐标
%画出AM信号做傅里叶变化后的幅度和频率图

%接下来过滤掉一半的AM信号。
for n=1:N
    if  x(n)<0
        x(n)=0;     %对应电路即是通过二极管来整流滤波
    end
end

figure(3);
y=fft(x);
stem((0:N-1)*fs/N,abs(y),‘.‘);
grid;
%画出截掉一半信号的傅里叶变换的幅度与频率图

结果如下图

可以看出,尽管截去了一半的AM 信号,任然含有基波信号。

时间: 2024-10-10 11:15:54

对AM信号FFT的matlab仿真的相关文章

经典功率谱估计及Matlab仿真

原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断等实际工程中.本文给出了经典功率谱估计的几类方法,并通过Matlab的实验仿真对经典功率谱估计方法性能进行了分析,最后说明了经典功率谱估计法的局限性和造成这种局限性的原因. 1.引言 给定一个标准的正弦信号,我们可以通过傅里叶变换来分析它的频率成分.然而,实际工程应用中,由于存在着各种干扰.噪声,我

多普勒失真信号重采样的Matlab仿真分析

多普勒失真信号重采样的Matlab仿真分析 应用场景 水声通信指的是使用声信号在水中传输数据.相对而言,电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完成远距离传输.这两种信号的传播距离约为数百米,而声信号在水中传播距离达到数十千米,成为水下通信的首选方式. 水声通信的一个重大挑战就是运动带来的多普勒.多普勒造成信号的频率漂移,影响系统性能,因此非常有必要消除多普勒带来的影响.而多普勒在时域的表现为信号的长度压缩和扩展,即'y(t) = x((1+a) * t)',其中a为多

用MATLAB仿真BPSK调制

这是本人的处女贴,以后还会写更多ICT方面的blog.今天为大家呈上MATLAB仿真BPSK调制的codes: clear all;clc; SNR_dB=1:1:9; SNR=10.^(SNR_dB./10); size=length(SNR_dB); A=ones(1,size);%固定A,定义变量sigma sigma=sqrt(1./(2*SNR));%A=1 N=10000; s=randi([0,1],1,N); s1=2*s-1; s2=zeros(1,N); N_errB=zer

极化码的matlab仿真(1)——参数设置

根据老师的安排,对于极化码的了解从仿真开始. 仿真的手段有很多种.可以利用C,C++,matlab等进行仿真的实现.其中matlab由于具有强大的函数库,和壮观的矩阵运算能力,被(我们老师课题组)看中了. 理由是,matlab的语法非常简单,接近自然语言.优秀的绘图能力,让其他软件自愧不如.还有众多的工具箱,功能强大到令人发指.当然非要用C来仿真也是可以的.但试想一个简单的函数,matlab只需要调用一下就好了,C语言怕是要自己动手写两行,何必自找麻烦呢. 话不多说,等下,我再说最后一句,本人研

MATLAB仿真总结

MATLAB仿真过程中,编写MATLAB代码的时候犯了很多错误,做了很多蠢事.记录下自己犯错的点点滴滴,并引以为戒.使用MATLAB版本为2014a,以下内容如有不当还请指正. 1. 仿真开始前清理工作区 工作区存在的变量可能会对脚本运行产生影响,故代码(脚本)开头需要添加如下命令 clc;clear all;close all; 2. 养成良好的变量.函数命名习惯 MATLAB中有很多内置的常量.函数等.写代码的时候不能够随意命名,以防造成不必要的麻烦.譬如在循环时不应该使用i,j变量,在MA

UVW平台运动控制算法以及matlab仿真

UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些资料学习一下,大概了解了运动模式后,使用matlab模拟了此平台,并验证了UVW平台资料提供的运动控制算法的正确性. 一.UVW平台介绍 1.这是一种可以实现以平面上任意一点为中心,进行旋转运动的装置,并可沿着任意的方向平移.2.此平台和视觉CCD纠偏系统对接在一起,可以很快完成高精度的纠偏工作,重复定

MATLAB仿真中连续和离散的控制器有何区别?

matlab系统同时提供连续和离散的控制器和对象的目的是:在降低用户使用复杂程度的同时提高仿真精度.仿真速度和应用的广泛性. 仿真步长和求解精度的概念对于理解这个问题至关重要. 首先是步长,步长和求解精度存在一对矛盾,步长的选择是仿真消耗的时间和求解精度要求的折中.计算机只能一步一步计算你的电路或者其他方程,例如你输入一个连续的信号,计算机在一个时刻仅仅会采集这个信号上的一个点,然后把这个点带入你的控制器数学方程中,求出电路方程的一个解,根据这个解得到系统的输出.因此,仿真波形其实是一个个的点聚

通信算法之五:五种编码方式增益比较及matlab仿真验证

1. 卷积码增益性能.误码率 信道环境:AWGN 信噪比SNR :0:0.1:6 MATALB仿真架构:源比特 +卷积码 +BPSK +AWGN +Viterbi +BER 说明:卷积编码,不同的R码率,不同的约束长度 2. Turbo增益性能.误码率 信道环境:AWGN 信噪比SNR :-1:0.1:2 MATALB仿真架构:源比特 +Turbo编码 +BPSK +AWGN +Turbo译码+BER 说明:turbo译码,不同的译码算法那,不同的交织长度,不同的迭代次数. LTE 标准的tur

Matlab 仿真实现TI Instaspin 的Foc 逆Clarke变换和SVPWM

一直没搞明白TI 的Instaspin的SVPWM实现原理,最后只能在Matlab里仿真看看输出波形是不是和普通的SVPWM实现输出的波形一样,用M文件实现,下面是代码: clear all; theta = 0:1:360; vd = 0.0; vq = 1.15; Valpha = zeros(size(theta)); Vbeta = zeros(size(theta)); Vx = zeros(size(theta)); Vy = zeros(size(theta)); Vz = zer