脉冲幅度调制信号的功率谱计算

       本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记

       通信领域笔记(1)---《脉冲幅度调制信号的功率谱计算》

脉冲幅度调制信号的功率谱计算

目录

1、背景分析

2、PAM理论推导

3、仿真过程设计

4、仿真及结果分析

5、实验小结 

6、Matlab程序代码


1、背景分析


2、PAM理论推导


3、仿真过程设计


4、仿真及结果分析

 


5、小结 


6、Matlab程序代码

close all
clear
% 定义调制参数
Fs = 4000; % 采样率
fc = 100; % 载波频率
baud = 20; % 符号速率
t = 0:1/Fs:1; % 时间向量
N = length(t); % 采样点数

% 生成随机二进制序列
bits = randi([0 1],1,(N-1)/baud);

% 将二进制序列转换为符号序列
symbols = 2*bits-1;
% symbols = bits;
% 生成PAM调制信号
pam_signal = zeros(1,N);
for i=1:length(bits)
    pam_signal((i-1)*baud+1:i*baud) = symbols(i);
end

% 生成载波信号
carrier = abs(sin(2*pi*fc*t));

% 将PAM调制信号与载波信号相乘
modulated_signal = pam_signal.*carrier;


% window=boxcar(length(pam_signal));
nfft=1024;
% [Pxx,f]=periodogram(pam_signal,window,nfft,Fs); %直接法
% f(length(f)+1,:)=-f;
% Pxx(-length(Pxx):0)=Pxx;
% figure
% plot(f,10*log10(Pxx));

window=boxcar(100); %矩形窗
window1=hamming(100); %海明窗
window2=blackman(100); %blackman窗
noverlap=20; %数据无重叠
[Pxx,f]=pwelch(pam_signal,window1,noverlap,nfft,Fs,'centered','power');
plot_Pxx=10*log10(Pxx);

[Pxx1,f1]=pwelch(modulated_signal,window1,noverlap,nfft,Fs,'centered','power');
plot_Pxx1=10*log10(Pxx1);

%绘制PAM调制信号和调制后信号的时域波形
figure
subplot(2,2,1);
plot(t,pam_signal);
title('PAM调制信号');
xlabel('时间(秒)');
ylabel('幅值');
subplot(2,2,3);
plot(t,modulated_signal);
title('调制后信号');
xlabel('时间(秒)');
ylabel('幅值');

subplot(2,2,2);
plot(f,plot_Pxx);
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')

subplot(2,2,4);
plot(f1,plot_Pxx1);
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')

%通过fft获得功率谱
G_s = abs(fft(pam_signal)).^2/Fs;%矩形脉冲
plot_G_s=10*log10(G_s);
%这三步的目的是将功率谱中心搬到0频点,画双边谱
x = plot_G_s(Fs/2:Fs);
plot_G_s(Fs/2:Fs)=plot_G_s(1:Fs/2+1);
plot_G_s(1:Fs/2+1)=x;

G_s2 = abs(fft(modulated_signal)).^2/Fs;%半波正弦
plot_G_s2=10*log10(G_s2);
x2 = plot_G_s2(Fs/2:Fs);
plot_G_s2(Fs/2:Fs)=plot_G_s2(1:Fs/2+1);
plot_G_s2(1:Fs/2+1)=x2;

F = -Fs/2:0.1:Fs/2;
G_s3 = 200./(pi.*F).^2.*sin(pi.*F./200).^2;
plot_G_s3=10*log10(G_s3);
G_s4 = 200/(4*pi^2).*cos(pi.*F./200).^2./(1/4-(F./200).^2).^2;
plot_G_s4=10*log10(G_s4);

figure
subplot(2,1,1);
plot(-Fs/2:1:Fs/2,plot_G_s);
title('pam signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')
subplot(2,1,2);
plot(-Fs/2:1:Fs/2,plot_G_s2);
title('modulated signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')
figure
subplot(2,1,1);
plot(F,plot_G_s3)
title('pam signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)');
subplot(2,1,2);
plot(F,plot_G_s4)
title('modulated signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)');
% c = abs(fft(carrier));
% a = abs(fft(modulated_signal));
% b = abs(fft(pam_signal));
% figure
% plot(0:1:Fs,c);
% figure
% plot(0:1:Fs,b);
% figure
% plot(0:1:Fs,a);

     文章若有不当和不正确之处,还望理解与指出。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请联系博主删除。如有错误、疑问和侵权,欢迎评论留言联系作者,或者关注VX公众号:Rain21321,联系作者。

猜你喜欢

转载自blog.csdn.net/qq_51399582/article/details/134586826
今日推荐