ASK调制的matlab代码

记录一个完整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)’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值