? ? ? ?本篇文章是博主在通信等領域學習時,用于個人學習、研究或者欣賞使用,并基于博主對人工智能等領域的一些理解而記錄的學習摘錄和筆記,若有不當和侵權之處,指出后將會立即改正,還望諒解。文章分類在通信領域筆記:
? ? ? ?通信領域筆記(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,聯系作者。