news 2026/4/23 16:11:33

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:29:15

AI编程助手选型指南:面向Java开发者的深度评测与实战建议

如今,AI编程助手已成为开发者提升效率的关键工具。然而,面对市场上纷繁复杂的选项——如GitHub Copilot、通义灵码、Cursor Pro、豆包MarsCode、Trae等——如何为Java开发(尤其是SpringBoot项目)选择最适合的工具?本文…

作者头像 李华
网站建设 2026/4/22 16:30:25

9 个降AI率工具,研究生必看!

9 个降AI率工具,研究生必看! AI降重工具:论文写作的得力助手 在当今学术研究日益数字化的背景下,越来越多研究生开始关注论文的AIGC率问题。随着AI技术的广泛应用,许多学生在撰写论文时会借助AI工具进行内容生成或辅助…

作者头像 李华
网站建设 2026/4/23 12:32:20

Kotaemon Azure Machine Learning 服务对接

Kotaemon 与 Azure Machine Learning 的深度集成实践 在企业智能化转型加速的今天,越来越多组织开始构建基于大语言模型的智能客服、知识助手和自动化代理。然而,从原型验证到生产落地的过程中,团队常常面临环境不一致、部署复杂、运维困难等…

作者头像 李华
网站建设 2026/4/23 13:52:43

文件是否存在

目录 window系统判断: 需要加双引号: python 判断: window系统判断: 需要加双引号: dir "D:\Program Files\Epic Games\Launcher\Engine\Binaries\Win64\EpicGamesLauncher.exe" /a-d if exist "…

作者头像 李华