📄 bpsk.m
字号:
%==========================================================================
%BPSK载波调制信号的生成及其频谱分析
%输入:数据率/仿真时间/中频载波频率/系统采样率
%输出:BPSK信号的时域波形及其频谱
%v1.0, xx年x月
%==========================================================================
clear all;
FigNum = 0;
%输入参数
Data_velocity = 5e5; %数据率
run_time = 1e-3; %仿真时间(秒)
Inter_freq = 7e6; %中频载波频率
Sample_velocity = 24e6 ; %系统采样率(一般情况下设置为数据率的整数倍)
%基带数据生成与采样
DataNumber = Data_velocity*run_time;
SourceData = rand(1,DataNumber); %产生0到1之间的随机数
SourceData = sign(SourceData-0.5); %变换为+1/-1
%系统采样
for i = 1:length(SourceData),%把产生的随机数用方波表示
k = (i-1)*Sample_velocity/Data_velocity;
for j = 1: Sample_velocity/Data_velocity,
SampledData(k+j) = SourceData(i);
end;
end;
%生成BPSK载波调制信号
SampleNumber = Sample_velocity*run_time;
time_scale = 0:run_time/(SampleNumber-1):run_time;
IFsample_signal = SampledData.*cos(2*pi*Inter_freq*time_scale+pi/10);
%中频信号频谱分析
analyse_number = 8e3;
Ws = 2*pi*Sample_velocity; w = Ws*(0:analyse_number/2)/(2*pi*analyse_number);
Freq_temp = abs(fft(IFsample_signal(1:analyse_number)));
figure(1);
plot(Freq_temp);
Freq_half = Freq_temp(1:analyse_number/2+1);
% FigNum = FigNum + 1; figure(FigNum);
% plot(IFsample_signal); title('BPSK中频调制信号波形');
FigNum = FigNum + 1; figure(2);
plot(w,20*log10(Freq_half)); title('bpsk信号的频谱');
% %AWGN信道
% SNRindB = 10;
% Received_signal = awgn(IFsample_signal,SNRindB,'measured');
% %信号分析
% analyse_number = 8e3;
% Ws = 2*pi*Sample_velocity; w = Ws*(0:analyse_number/2)/(2*pi*analyse_number);
% Freq_temp = abs(fft(Received_signal(1:analyse_number)));
% Freq_half = Freq_temp(1:analyse_number/2+1);
%
% FigNum = FigNum + 1; figure(FigNum);
% plot(Received_signal); title('awgn信道下的BPSK信号波形');
% FigNum = FigNum + 1; figure(FigNum);
% plot(w,20*log10(Freq_half)); title('awgn信道下的bpsk信号频谱');
%
% %
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -