2ask.m

来自「产生2ASK、4ASK、8ASK的m文件和产生的mat格式的数据文件。」· M 代码 · 共 50 行

M
50
字号
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 + =
减小字号Ctrl + -
显示快捷键?