function [Pe]=ask2(snr_in_dB)
%==================程序初始化及产生基带信号=================%
figure(1)
N = 1000; fdc = 100; %码子个数N;抽样频率fdc=100
t = 0.01:0.01:N;
source = randsrc(1,N,[0,1;0.5,0.5]); %产生0、1随机序列
A1 = ones(fdc,1);
seq = A1 * source;
A = seq(:)';
sy = sin(2*pi*3*t); %生成信号源
s =A .* sy; %被调信号s(t)
subplot(2,3,1);
plot(t,s);
hold on
%=========================ASK信号的调制=====================%
c = cos(300*t); %产生载波信号载波频率fc=300Hz
x = s.*c; %ASK基带信号
subplot(2,3,2);
plot(t,x);
hold on
%==================ASK基带信号加入高斯白噪声=================%
sigma = sqrt(10^(-snr_in_dB/10)/2);
noise=sigma*randn(1,N*fdc);
subplot(2,3,3);
plot(t,noise);
hold on
xnoise=x+noise; %有高斯白噪声的ASK信号
y=1/2*xnoise.*c; %相干解调
subplot(2,3,4);
plot(t,y);
hold on
%==============设计巴特沃思数字低通滤波器====================%
wp=0.1*pi;ws=0.12*pi;Rp=1;Rs=15;
[n,wn] = buttord(wp/pi,ws/pi,Rp,Rs);
[b,a] = butter(n,wn);
s1 = filter(b,a,y); %滤波
[H,w]=freqz(b,a,N,'whole');
f=(-N/2:1:N/2-1);
subplot(2,3,5);
plot(f,abs(fftshift(H)));
hold on
S = 2*s1;
subplot(2,3,6);
plot(t,S);
%=========================计算误码率==========================%
%====================输入接收信号,并判决=====================%
cntError = 0; %误码个数
Pe = 0; %误码率
temp = 1;errortemp = 0;
e = 0;
B = ones(1,N*fdc);
T = B.*S;
for i =1:N;
T1 = T(temp:(i*fdc));
p = abs(T1);
for I = temp:(i*fdc);
if I <= 100;
if p(I) > 0.1;
e = e + 1;
else
e = e;
end
else
if p(I-(i-1)*fdc) > 0.1;
e = e + 1;
else
e = e;
end
end
end
if e < fdc/2 ;
receive(i) = 0;
else
receive(i) = 1;
end
temp=i*fdc+1;
e=0;
end
for j=1:N;
if source(j) == receive(j);
errortemp = 0;
else
errortemp = 1;
end
cntError = cntError + errortemp;
end
Pe=cntError/N;
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的一个ask调制解调的源程序,可以自己添加一些噪声进行仿真分析!+使用说明文档.zip
共3个文件
m:2个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 139 浏览量
2024-05-22
22:41:59
上传
评论
收藏 14KB ZIP 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的一个ask调制解调的源程序,可以自己添加一些噪声进行仿真分析!+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的一个ask调制解调的源程序,可以自己添加一些噪声进行仿真分析!+使用说明文档.zip (3个子文件)
ask.m 485B
ask2.m 2KB
使用说明文档.md 13KB
共 3 条
- 1
资源评论
IT狂飙
- 粉丝: 4778
- 资源: 2640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功