记录一个完整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=8Rb; %采样频率

LenData=LenFs/Rb; %数据长度

Fc=7010^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=20log10(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=20log10(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: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=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: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=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: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);

end;

ask调制matlab实验,ASK调制的matlab代码相关推荐

  1. matlab实验学习心得,matlab实验心得体会-学习matlab的心得体会

    matlab实验心得体会-学习matlab的心得体会 导语:通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法. ...

  2. 控制工程matlab实验报告小结,控制工程MATLAB实验报告.doc

    控制工程MATLAB实验报告 浙江科技学院 机电系统开放性实验 设计题目: MATLAB控制机电系统实分析 专 业: 机 械 设 计 制 造及 其 自 动 化 班 级: 机 制 122 学生姓名: 王 ...

  3. 2018.9.10.Matlab实验一:熟悉Matlab开发环境

    一.实验任务和目的 1. 熟悉Matlab的系统环境及基本操作方法. 2. 掌握Matlab的搜索路径及其设置方法. 3. 熟悉Matlab的帮助信息的查阅方法. 二.实验内容 1. 熟悉 Matla ...

  4. 南邮matlab实验报告,南邮matlab实验报告.doc

    南邮matlab实验报告 软件课程设计 实验报告 模块名称:__MATLAB_____________ 专业班级:__ __________ 姓 名:__ _____________ 学 号:__ _ ...

  5. 数字信号处理matlab实验报告,数字信号处理,matlab实验报告

    数字信号处理,matlab实验报告 Matlab实验报告 实验一: 1. 实验Matlab代码: N=25; Q=0.9+0.3*j; WN=exp(-2*j*pi/N); x=zeros(25,1) ...

  6. matlab实验5函数文件,matlab实验作业(数据类型,常用函数,导入外部文件)

    实验一 MATLAB环境与运算基础 一.实验目的 掌握 MATLAB环境与基本操作: 掌握MATLAB常见数据类型的创建.表示和引用: 熟悉MATLAB数据类型的各种运算与常用函数: 熟悉导入外部数据 ...

  7. 数学实验课MATLAB实验报告二(题目+代码)

    目录 前言 1.(1) 题目 代码 1.(2) 题目 代码 1.(3) 题目 代码 1.(4) 题目 代码 2. 题目 代码 总结 前言 2022年10月21日晴转多云转晴然后黑天了,不冷.今天有一件 ...

  8. matlab实验报告的总结,matlab实验报告

    实验1 熟悉matlab 的开发环境及矩阵操作 一.实验的教学目标 通过本次实验使学生熟悉MATLAB7.0的开发环境,熟悉MA TLAB 工作界面的多个常用窗口包括命令窗口.历史命令窗口.当前工作目 ...

  9. matlab实验论文,毕业论文--基于MATLAB的光学实验仿真

    毕业论文--基于MATLAB的光学实验仿真 本科毕业论文 题 目 基于基于 MATLABMATLAB 的光学实验仿真的光学实验仿真 学 院 物理科学与技术学院 专 业 物 理 学(师 范) 2014年 ...

  10. 概率统计matlab实验,概率与数理统计matlab实验报告1.doc

    13-14-2 电子信息工程 实验报告1 姓名 魏丰 学号 20120506305 班级 1203 实 验 目 的 使用matlab做概率运算,掌握对matlab的运用 实 验 内 容 一.1.12名 ...

最新文章

  1. 脱机多维数据集CUB文件的生成
  2. android java包_android SDk中常用的java包介绍
  3. 【数据库】Redis/MongoDB/MySQL/Oracle随笔索引
  4. 微信小程序修改样式弹框wx.showModal
  5. django-登陆案例-分析篇1909
  6. mysql bundle 安装_阿里云服务器下安装MySQL (Bundle压缩包 安装)
  7. bat小工具_字节跳动收购效率工具幕布,张一鸣的 To B 野心 | 36氪独家
  8. 语音识别的技术原理是什么?
  9. [zt]扫盲,什么叫MAD(a11s)
  10. R语言介绍(R包与帮助文档)
  11. 如何彻底卸载office!!
  12. k8s部署-43-带你深入学习ingress-nginx(下)
  13. 安卓平板微信和手机微信同时登陆_如何查看手机上的微信登陆记录
  14. 网络安全—DDoS攻防
  15. Windows7旗舰版SP1_32位2018.10(办公版)
  16. Xdebug中文文档-安装
  17. 红米手机H5布局压扁
  18. python基础一 day56
  19. 十七道海量数据处理面试题与Bit-map详解
  20. A1-2017级算法上机第一次练习赛 J 怠惰的园丁王木木

热门文章

  1. RHCE认证考试时间是什么时候?
  2. 【已解决】ws2_32.dll丢失怎么办?ws2_32.dll调用失败如何修复
  3. List of USB ID's
  4. eclipse及tomcat设置编码
  5. JavaWeb【Tomcat设置编码】
  6. linux下安装Adobe Reader(acroread)
  7. python的unicode编码表_Python-编码
  8. Internet网络通信协议
  9. 泛微oa服务器文件,泛微oa云服务器要求
  10. 浙江省计算机二级理论知识,2020年浙江省高校计算机二级MS Office考试大纲