当前位置: 首页 > news >正文

MATLAB数字信号调制解调仿真代码

1.参数设置
% 参数设置M=4;% 调制阶数(例如,4表示4-ASK、4-PSK、4-FSK)fs=1000;% 采样频率(Hz)fc=100;% 载波频率(Hz)T=1;% 符号持续时间(秒)N=T*fs;% 每个符号的采样点数numSymbols=1000;% 符号数量EbNo=10;% 能量与噪声比(dB)
2.生成随机数据
% 生成随机数据data=randi([0,M-1],1,numSymbols);
3.调制过程
3.1 ASK调制
% ASK调制askModulated=zeros(1,numSymbols*N);fori=1:numSymbols symbol=data(i);t=(0:N-1)/fs;% 时间向量askModulated((i-1)*N+1:i*N)=symbol*cos(2*pi*fc*t);end
3.2 PSK调制
% PSK调制pskModulated=zeros(1,numSymbols*N);fori=1:numSymbols symbol=data(i);t=(0:N-1)/fs;% 时间向量pskModulated((i-1)*N+1:i*N)=cos(2*pi*fc*t+2*pi*symbol/M);end
3.3 FSK调制
% FSK调制fskModulated=zeros(1,numSymbols*N);fori=1:numSymbols symbol=data(i);t=(0:N-1)/fs;% 时间向量fskModulated((i-1)*N+1:i*N)=cos(2*pi*(fc+symbol*fc/M)*t);end
4.信道模型(加性高斯白噪声)
% 信道模型(AWGN)noise=(randn(1,numSymbols*N)+1j*randn(1,numSymbols*N))/sqrt(2)*10^(-EbNo/20);askReceived=askModulated+noise;pskReceived=pskModulated+noise;fskReceived=fskModulated+noise;
5.解调过程
5.1 ASK解调
% ASK解调askDemodulated=zeros(1,numSymbols);fori=1:numSymbols receivedSignal=askReceived((i-1)*N+1:i*N);askDemodulated(i)=round(abs(mean(receivedSignal)));end
5.2 PSK解调
% PSK解调pskDemodulated=zeros(1,numSymbols);fori=1:numSymbols receivedSignal=pskReceived((i-1)*N+1:i*N);angle=angle(mean(receivedSignal));pskDemodulated(i)=round(angle/(2*pi/M));end
5.3 FSK解调
% FSK解调fskDemodulated=zeros(1,numSymbols);fori=1:numSymbols receivedSignal=fskReceived((i-1)*N+1:i*N);fskDemodulated(i)=round((mean(receivedSignal)-fc)/(fc/M));end
6.误码率计算
% 误码率计算BER_ask=sum(abs(data-askDemodulated))/numSymbols;BER_psk=sum(abs(data-pskDemodulated))/numSymbols;BER_fsk=sum(abs(data-fskDemodulated))/numSymbols;fprintf('ASK误码率 (BER): %.4f\n',BER_ask);fprintf('PSK误码率 (BER): %.4f\n',BER_psk);fprintf('FSK误码率 (BER): %.4f\n',BER_fsk);
7.绘图
% 绘制调制信号t=(0:numSymbols*N-1)/fs;figure;subplot(3,1,1);plot(t,askModulated);title('ASK调制信号');xlabel('时间 (s)');ylabel('振幅');subplot(3,1,2);plot(t,pskModulated);title('PSK调制信号');xlabel('时间 (s)');ylabel('振幅');subplot(3,1,3);plot(t,fskModulated);title('FSK调制信号');xlabel('时间 (s)');ylabel('振幅');

参考代码 MATLAB数字信号调制解调(ask,psk,fsk等)仿真www.youwenfan.com/contentcsn/81719.html

http://www.cnnetsun.cn/news/138103.html

相关文章:

  • 论文引用标注工具排名2025:6大平台+自动规范推荐
  • Kotaemon AWS EC2部署实例:国际业务首选
  • 实在没货,简历(软件测试)咋写?
  • 网约车服务端线上流量巡检与测试验收技术
  • 公考日记7
  • 火电一次调频、自抗扰调频及群智能算法智能调频在MATLAB/Simulink中的应用
  • 科研实验室温湿度监控新范式:以太网 POE 技术全场景解决方案
  • RV1126 NO.57:ROCKX+RV1126人脸识别推流项目之读取人脸图片并把特征值保存到sqlite3数据库
  • 探索SAR ADC:45nm工艺下的高速高精度设计
  • 【小增长技术团队东哥分享】Electron vs Electron-Vite vs Electron-Egg:桌面端开发到底该选谁?
  • 测试价值的量化评估:从成本中心到价值证明的路径探索
  • 测试领导力:在敏捷洪流中筑造质量堤坝
  • C++常用设计模式
  • Spring Boot 自动配置深度解析:原理、实战与源码追踪
  • 无代码解决方案:破解企业数字化转型效率困局
  • SAM (Segment Anything Model):万物皆可分割-k学长深度学习专栏
  • Mysql 报错 “Public Key Retrieval is not allowed”
  • 熊市中最适用的公式==底部建仓
  • 100G双光口网卡技术解析:Intel E810-CAM2方案的性能与应用突破
  • BioSIM抗人组蛋白H1抗体SIM0385:广泛应用于表观遗传学、染色质结构分析等领域
  • 智慧灯杆数字孪生系统:“多杆合一“技术实现
  • SCI一稿多投会不会被发现?
  • RUI Builder-图形化UI设计-工程范例
  • win10 - 删除非法命名的文件夹的方法
  • 必看!2025年单北斗GNSS形变监测高口碑产品排行榜
  • 【计网】网络分层模型和http协议
  • Kotaemon在华为云上的部署实践:全流程记录
  • 校园便利平台|基于springboot + vue校园便利平台系统(源码+数据库+文档)
  • 38、Linux 脚本编程:bc 计算器、数组与特殊技巧
  • 揭秘高亮车灯升级2025年值得推荐的TOP8车灯产品