博主大毕设关于数字下变频(DDC)的CUDA实现,预计工期比较长,所以留下一些文字记录。

  主要分为两部分工作,Matlab仿真部分和CUDA实现。

  由于很久没有仿真了,所以先用一个简单的AM调制仿真练手。具体代码如下:

代码都是基础的所以就不解释了(环境matlab2016)

 clc;
fm=; %信号频率
fc=; %载波频率
fs=; %抽样频率
Am=;
A=;
N=;
K=N-;
n=:N-;
t=(:/fs:K/fs);
yt=Am*cos(*pi*fm*t);
figure()
subplot(,,);plot(t,yt);title('频率为100HZ信号时域波形'); y0=A+yt;
y2=y0.*cos(*pi*fc*n/fs);
y3=fft(y2,N);
q1=(:N/-)*fs/N;
mx1=abs(y3(:N/));
figure()
subplot(,,);
plot(t,y2);
title('已调信号时域波形');
subplot(,,);
plot(q1,mx1);
title('已调信号频谱');
yc=cos(*pi*fc*t);
figure();
subplot(,,),plot(t,yc),title('载波fc时域')
n=:N-;
yc1 = Am*cos(*pi*fc*n/fs);
y3=fft(yc1,N)
q=(:N/-)*fs/N
mx=abs(y3(:N/));
figure()
subplot(,,),plot(q,mx),title('载波fc频谱')
N=;
n=:N-;
y4=0.01*randn(,length(t)); %产生高斯噪声
w=y4.^; %噪声功率
figure();
subplot(,,);
plot(t,y4);
title('高斯白噪声时域波形');
y5=fft(y4,N);
q2=(:N/-)*fs/N;
mx2=abs(y5(:N/));
figure();
subplot(,,);
plot(q2,mx2);
title('高斯白噪声频域波形');
y6=y2+y4;
figure();
subplot(,,);
plot(t,y6);
title('加噪声后时域信号')
q3=q1;
mx3=mx1+mx2;
subplot(,,);
plot(q3,mx3);
title('加噪声后频谱') yv=y6.*yc; %乘以载波想干解调
Ws=yv.^;
p1=fc-fm;
[k,Wn,beta,ftype]=kaiserord([p1 fc],[ ],[0.05 0.01],fs);%数字低通过滤波器
window=kaiser(k+,beta);%使用kaiser窗函数
b=fir1(k,Wn,ftype,window,'noscale');%
yt=filter(b,,yv);
yssdb=yt.*-;
figure()
subplot(,,);
plot(t,yssdb);
title('经过低通已调信号时域波形') ;%解调 y9=fft(yssdb,N);
mx=abs(y9(:N/));
subplot(,,);
plot(q,mx);
title('已调信号频域波形')

实现效果如下:

大毕设-matlab-AM调制解调的更多相关文章

  1. matalb 产生信号源 AM调制解调 FM调制解调

    %%%%%%%%%%%%%%%%%%%%%%%%%%% %AM调制解调系统 %%%%%%%%%%%%%%%%%%%%%%%%%%% clear; clf; close all Fs=800000;%采 ...

  2. 大毕设-MATLAB-FFT实现

    引用来自:http://blog.csdn.net/sinwel/article/details/8115673 %仿真参数中的含义 % Ts 表示间隔Ts时间采样,这个越小越接近连续信号,而实际上不 ...

  3. 大毕设-MATLAB-滤波器的实现

    在工程实际中遇到的信号经常伴有噪声,为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统称为滤波器.严格地讲,滤波器可以定义为对已知的激励提供规定响应的系统,响应的要求可以在时域或频域 ...

  4. 大毕设-MATLAB-常用知识回顾

    要用到FIR滤波器和抽样器下面研究这两个的Matlab实现: Fir滤波器: matlab上fir滤波器的关键字是fir1 在command窗口输入help fir1出现帮助文档: >> ...

  5. 台大郭彦甫MATLAB教学-个人笔记(一)

    命令和一些特殊的变量 who:查看有哪些变量1. whos:可以查看变量的大小.字节和类型等资料. clear:如果单独使用则是清空所有命令,若后面跟着一个变量名称则为删除此变量. clc:清空命令行 ...

  6. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  7. IQ调制原理

    现代通信中,IQ调制基本上属于是标准配置,因为利用IQ调制可以做出所有的调制方式. 但是IQ调制到底是怎么工作的,为什么需要星座映射,成型滤波又是用来干嘛的.这个呢,讲通信原理的时候倒是都会泛泛的提到 ...

  8. DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?

          DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的.Freesacle.ADI.NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Si ...

  9. OFDM通信系统的MATLAB仿真(1)

    由于是第一篇博客,想先说点废话,其实自己早就想把学到的一些东西总结成文章随笔之类的供自己复习时查看的了.但是一是觉得自己学的的不够深入,总结也写不出什么很深刻的东西:二是觉得网上也有海量的资料了,需要 ...

随机推荐

  1. 浅析c#内存泄漏

    一直以来都对内存泄露和内存溢出理解的不是很深刻.在网上看到了几篇文章,于是整理了一下自己对内存泄露和内存溢出的理解. 一.概念 内存溢出:指程序在运行的过程中,程序对内存的需求超过了超过了计算机分配给 ...

  2. 使用compass编译sass

    1.初始化项目 compass create test(项目名称),会在当前目录下创建test子目录,test的子目录下有config.gb文件,sass和stylesheets文件夹. 2.编写sa ...

  3. 用delphi实现rar文件的解压的方法

    http://blog.csdn.net/ad_home/article/details/2818936 准备工作     下载winrar提供的动态链接库unrar.dll     http://w ...

  4. 数据结构与算法(1)支线任务4——Lowest Common Ancestor of a Binary Tree

    题目如下:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/ Given a binary tree, fin ...

  5. 一起学习KenDo

    这几年用Telerik做WEB,积累了一些感觉.因为打算涉足移动APP开发,打算接下来学习KenDo.

  6. Extjs 百度地图扩展

    var bmapps; Bsprint.EditMapInfoWindow = Ext.extend(Ext.Window, { form: null, constructor: function ( ...

  7. instanceof关键字

    instanceof是Java.php的一个二元操作符(运算符),和==.>.<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实 ...

  8. backprop示例

    http://home.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html

  9. BCM94352HMB蓝牙BCM20702A0在Ubuntu 14.04下的驱动方法

    作者:秋忆 出处:http://www.cnblogs.com/qiuyi21/p/bcm20702a0_ubuntu.html 先确认蓝牙的产商编号(idVendor)和产品编号(idProduct ...

  10. 2016-09-19: linux后台运行

    linux后台运行命令两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 简介 L ...