记录一个完整ASK调制过程的matlab代码。

%E5_1_AskMod.m
function [ASK2,ASK2_filter,ASK4,ASK4_filter]=E5_1_AskMod(Len,IsPlot,IsOutput)
%产生2ASK、4ASK调制信号
%Len:码元长度,默认值为1000
%IsPlot:是否绘图,'1’表示绘图,否则不绘图
%IsOutput:是否将ASK调制数据输出到文本文件中,'1’表示输出,否则不输出

%设置函数的默认参数值
if nargin < 1
Len=1000; %数据长度为1000
IsPlot=0; %不绘图
IsOutput=0; %不将数据写入文本文件中
end;

Rb=110^6; %码元速率
Fs=8
Rb; %采样频率
LenData=LenFs/Rb; %数据长度
Fc=70
10^6; %载波频率
Qn=8; %量化位数
a=0.8; %成形滤波器滚降因子

%产生载波信号
t=0:1/Fs:Len/Rb;
carrier=cos(2piFc*t);
carrier=carrier(1:LenData);

%产生随机分布的二进制数据
%code_2ask=randint(1,Len,2);
code_2ask=(randi(2,Len,1)-1)’;
%对基带数据以Fs速率采样
code_2ask_upsamp=rectpulse(code_2ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_2ask_filter=rcosflt(code_2ask,1,Fs/Rb);
%产生未进行成形滤波的2ASK信号
ASK2=carrier.*code_2ask_upsamp;
%产生成形滤波后的2ASK信号
ASK2_filter=carrier.*code_2ask_filter(1:LenData)’;

%获取2ASK信号的频谱
ASK2_Spec=20log10(abs(fft(ASK2,1024)));
ASK2_Spec=ASK2_Spec-max(ASK2_Spec);
ASK2_filter_Spec=20
log10(abs(fft(ASK2_filter,1024)));
ASK2_filter_Spec=ASK2_filter_Spec-max(ASK2_filter_Spec);

%产生随机分布的四进制数据
%code_4ask=randint(1,Len,4);
code_4ask=(randi(4,Len,1)-1)’;
%对基带数据以Fs速率采样
code_4ask_upsamp=rectpulse(code_4ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_4ask_filter=rcosflt(code_4ask,1,Fs/Rb);
%产生未进行成形滤波的4ASK信号
ASK4=carrier.*code_4ask_upsamp;
%产生成形滤波后的4ASK信号
ASK4_filter=carrier.*code_4ask_filter(1:LenData)’;

%获取4ASK信号的频谱
ASK4_Spec=20log10(abs(fft(ASK4,1024)));
ASK4_Spec=ASK4_Spec-max(ASK4_Spec);
ASK4_filter_Spec=20
log10(abs(fft(ASK4_filter,1024)));
ASK4_filter_Spec=ASK4_filter_Spec-max(ASK4_filter_Spec);

%绘图
if IsPlot==1
figure(1);x=0:200;x=x/Fs*(10^6);
subplot(221);plot(x,ASK2(100:300));xlabel(‘时间(us)’);ylabel(‘幅度(v)’);
title(‘未经成形滤波的2ASK时域波形’);grid on;
subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel(‘时间(us)’);ylabel(‘幅度(v)’);
title(‘成形滤波后的2ASK时域波形’);grid on;
subplot(223);plot((0:200),ASK4(100:300));;xlabel(‘时间(us)’);ylabel(‘幅度(v)’);
title(‘未经成形滤波的4ASK时域波形’);grid on;
subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel(‘时间(us)’);ylabel(‘幅度(v)’);
title(‘成形滤波后的4ASK时域波形’);grid on;

figure(2);x=0:length(ASK2_Spec)-1;x=x/length(x)*Fs/10^6;
subplot(221);plot(x,ASK2_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('未经成形滤波的2ASK频谱');grid on;
subplot(222);plot(x,ASK2_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('成形滤波后的2ASK频谱');grid on;
subplot(223);plot(x,ASK4_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('未经成形滤波的4ASK频谱');grid on;
subplot(224);plot(x,ASK4_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
title('成形滤波后的4ASK频谱');grid on;

end;

%量化数据并写入文本文件中
if IsOutput1
norm_Data=ASK2/max(abs(ASK2));%归一化处理
Q_s=round(norm_Data*(2^(Qn-1)-1));
fid=fopen(‘D:\ModemPrograms\Chapter_5\E5_1_ASKMod\ASK2.txt’,‘w’);
for i=1:length(Q_s)
B_s=dec2bin(Q_s(i)+(Q_s(i)<0)*2^Qn,Qn);
for j=1:Qn
if B_s(j)‘1’
tb=1;
else
tb=0;
end
fprintf(fid,’%d’,tb);
end
fprintf(fid,’\r\n’);
end
fprintf(fid,’;’);
fclose(fid);

norm_Data=ASK2_filter/max(abs(ASK2_filter));%归一化处理
Q_s=round(norm_Data*(2^(Qn-1)-1));
fid=fopen('D:\ModemPrograms\Chapter_5\E5_1_ASKMod\ASK2_filter.txt','w');
for i=1:length(Q_s)B_s=dec2bin(Q_s(i)+(Q_s(i)<0)*2^Qn,Qn);for j=1:Qnif B_s(j)=='1'tb=1;elsetb=0;endfprintf(fid,'%d',tb);  endfprintf(fid,'\r\n');
end
fprintf(fid,';');
fclose(fid);norm_Data=ASK4/max(abs(ASK4));%归一化处理
Q_s=round(norm_Data*(2^(Qn-1)-1));
fid=fopen('D:\ModemPrograms\Chapter_5\E5_1_ASKMod\ASK4.txt','w');
for i=1:length(Q_s)B_s=dec2bin(Q_s(i)+(Q_s(i)<0)*2^Qn,Qn);for j=1:Qnif B_s(j)=='1'tb=1;elsetb=0;endfprintf(fid,'%d',tb);  endfprintf(fid,'\r\n');
end
fprintf(fid,';');
fclose(fid);norm_Data=ASK4_filter/max(abs(ASK4_filter));%归一化处理
Q_s=round(norm_Data*(2^(Qn-1)-1));
fid=fopen('D:\ModemPrograms\Chapter_5\E5_1_ASKMod\ASK4_filter.txt','w');
for i=1:length(Q_s)B_s=dec2bin(Q_s(i)+(Q_s(i)<0)*2^Qn,Qn);for j=1:Qnif B_s(j)=='1'tb=1;elsetb=0;endfprintf(fid,'%d',tb);  endfprintf(fid,'\r\n');
end
fprintf(fid,';');
fclose(fid);

end;

ASK调制的matlab代码相关推荐

  1. 正交调制matlab代码,星形和形星座图调制解调MATLAB代码

    <星形和形星座图调制解调MATLAB代码>由会员分享,可在线阅读,更多相关<星形和形星座图调制解调MATLAB代码(7页珍藏版)>请在人人文库网上搜索. 1. -% 软件无线电 ...

  2. qpsk 16qam matlab,QPSK 完整清晰的描述了光通信中 ,16QAM的调制,matlab代码仿真通过 267万源代码下载- www.pudn.com...

    文件名称: QPSK下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 21 KB 上传时间: 2015-03-23 下载次数: 20 提 供 者: 张红玉 详 ...

  3. 调制方式matlab代码_基础的几种实现

    只是实现调制,不做解调.只做了代码实现,没有对此进行解释,请自行再次验证算法准确和是否符合您的预期. 2ASK function [ Modulated_signal,time_seq ] = Two ...

  4. matlab 星座图 qam,16QAM_星形及矩形星座图调制解调MATLAB代码.doc

    完美WORD格式编辑 学习指导参考资料 %% ------------------------------------------------------------ % 软件无线电课程设计 % % ...

  5. qam已调信号matlab相干解调,16qam调制解调matlab

    (论文)题目 16QAM 的调制与解调 时间: 2012 年 12 月 19 日指导教师 主要研 究内容 基于 MatlabSimulink 的 16QAM 的调制与解调 研究方法 MatlabSim ...

  6. BPSK、QPSK、MPSK、QAM、16QAM的调制解调Matlab实现

    BPSK.QPSK.MPSK.QAM.16QAM的调制解调Matlab实现_ICT_Liang的博客-CSDN博客_matlab qam 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计. ...

  7. 5G NR OFDM链路层仿真及Matlab代码实现(1):LDPC信道编译码之5G Tollbox中相关函数使用介绍

    目录 0. 写在前面 1. 信道编码 2. 经过信道(❤) 3. LDPC译码 0. 写在前面 这是OFDM链路仿真系列的第一部分. 第一次写博客,望前辈们多多指教!!! 本来想着一口气写完整个过程, ...

  8. SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

    合成孔径雷达发射信号以线性调频信号(LFM)为基础,目前大部分合成孔径雷达都是LFM体制,为了减轻雷达重量也采用线性调频连续波(FMCW)体制:为了获得大带宽亦采用线性调频步进频(FMSF)体制. ( ...

  9. LDPC译码原理(公式推导)及其matlab代码实现(超详细)

    目录 博文更改记录 一.背景概述 二.LDPC译码理论 2.1 LDPC码的表示方法 2.1.1LDPC码的矩阵表示 2.1.2 Tanner图表示 2.2符号说明 2.3LDPC译码算法 2.3.1 ...

最新文章

  1. 香港大学赵恒爽助理教授招收CV/ML等方向全奖博士生、博士后
  2. 是时候不把智能手机叫做电话了:移动AI时代来临!
  3. matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8
  4. 在浏览器中输入网址后的流程
  5. ESP8266、ESP32 和 ESP32-S2 对比
  6. 增加RIL组件时编辑出现的问题
  7. dram和nand哪个难生产_仅300名员工,年产7台,订单排到5年后,比光刻机还难买...
  8. 如何高效管理BI报表的需求
  9. 【IoT平台技术对接分享】如何上传正确的消息推送证书
  10. 【转】Android之apk文件签名——keytool 和 jarsigner
  11. A-Webkit第四章:添加学生
  12. 用Python将一个文件夹下多个子文件夹中相同文件拷贝到同一个文件夹中并重新命名
  13. USB chirp信号测试
  14. 详解rem布局-利用rem布局实现移动端高清显示
  15. java 计算平方根_Java 计算int值的平方根
  16. linux scl软件包下载,SCL项目:在Red Hat系列系统上安装同一软件的不同版本
  17. echarts 引入百度地图
  18. C# 拼图游戏(超详细)
  19. navicat转换word表格
  20. App 抓包利器:Charles 以及 App 爬虫心得

热门文章

  1. 深入解析云原生网络抖动引起的性能问题 @龙蜥社区eBPF SIG
  2. Oracle常見問題查詢
  3. 前端面试问题(白话回答,便于记忆)
  4. laravel Helpers文件 通用帮助函数 以及常用帮助方法
  5. torch.bmm() 与 torch.matmul()
  6. 数学建模——公交调度优化
  7. cuda实战阅读笔记:共享内存、常量内存、事件时间
  8. android signal 6,android signal 处理总结
  9. SignalCatcher
  10. 使用Python对xlsx,csv, txt格式文件进行读、写并绘图