📄 ask_2.m
字号:
function y=ask_2(snr_in);
snr=10^(snr_in/10);
x=rand(100,1);%产生随机序列
h=length(x);%计算序列长度
fc=10000;fs=100000;%设定采样频率以及高频和低频(调制频率)
ts=10/fc;%设定码元宽度;每码元100个点
t=0:1/fs:ts*h-1/fs;%产生全部码元总的时间序列,起始时刻为0,步长为采样频率的倒数即采样时间,结束时刻为序列结束时刻
l=length(t)/h;%计算出这个序列的长度
t=reshape(t',l,h);%将序列处理成矩阵形式,每行元素为一个码元内的所有采样点l,行数为码元数n :reshape(l,h)
t=t';%因矩阵是按列存储,故须作转置处理
y=zeros(h,l);
for i=1:h,
if x(i)>=0.5
y(i,:)=3.5*sin(2*pi*fc.*t(i,:));
else y(i,:)=sin(2*pi*fc.*t(i,:));%赋值
end
end
y0=reshape(y',l*h,1);
power=y0'*y0;
powerzao=power/snr;%以下是产生高斯白噪声序列
a=sqrt(powerzao/(l*h));
zao=a*randn(l*h,1);
powerzao2=zao'*zao;
y=y0+zao;%加噪以后的信号
t=reshape(t',l*h,1);
subplot(311);plot(t,y);
grid on
title('2ASK信号的时域图形')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -