⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpsk.m

📁 %BPSK载波调制信号的生成及其频谱分析 %输入:数据率/仿真时间/中频载波频率/系统采样率 %输出: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 + -