📄 2ask.m
字号:
clear all; clc;
%ASK调制
load ('D:\MATLAB6p5\radio\mywork\PCM\code_end1.mat');%码序列
code_end1=code_end1(1:10000);
% 调制参数
CodeFre = 6.4*10^4; %码速率 64kbps
Tc = 1/CodeFre; %码元宽度
CarrFre = 100*10^3; %载波频率 100KHz
SamFre = 3.2*10^5; %采样频率 320KHz
Ts = 1/SamFre; % 采样时间间隔
Temp = fix(SamFre/CodeFre); % 平均每个码元宽度内采样点个数
%Reminder= SamFre/CodeFre - fix(SamFre/CodeFre); % 得到小数,从而确定每个码元起始采样点的偏移量
%Offset = 1-Reminder; % 得到下一码元起始处时间偏移
num = length(code_end1); % 取码序列的长度
% ASK调制
switch code_end1(1)
case 0
a=0;
case 1
a=1;
end
t = Ts :Ts: Temp*Ts;
ASK_u1= a*cos(2*pi*CarrFre*t);
SamLen = length(ASK_u1);
NewOffset = Tc-Ts*Temp;
for n = 2:num;
% 判断载波相位变化
switch code_end1(n)
case 0
a=0;
case 1
a=1;
end
N=(NewOffset+Tc)/Ts;
Temp = fix(N);
t =Ts*(SamLen+1) :Ts: Ts*(Temp+SamLen); %时间长度
%m=1:Temp;
%c=[c,cos(2*pi*CarrFre*t)];
S=a*cos(2*pi*CarrFre*t);
ASK_u1 =[ASK_u1,S];
SamLen = length(ASK_u1);
%NewReminder =N-Temp;
NewOffset = n*Tc-Ts*SamLen;
% end
n
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -