パルス振幅変調信号のパワースペクトルの計算

       この記事はブロガーが通信などの分野で勉強していた際に、個人的な勉強や研究、鑑賞のために記録した研究の抜粋およびメモであり、ブロガーの人工知能およびその他の分野についての理解に基づいています。 、、ご指摘頂きましたら速やかに修正させて頂きますので、ご理解頂けますようお願い致します。コミュニケーション分野における記事分類 注

       通信分野の注意事項(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