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);end3.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);end3.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);end4.信道模型(加性高斯白噪声)
% 信道模型(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)));end5.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));end5.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));end6.误码率计算
% 误码率计算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