• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2022-02-19
  • 语言: Matlab
  • 标签: MATLAB  ssb  

资源简介

东西真的很不错 毕业设计包过。。。。。。。。

资源截图

代码片段和文件信息

function []=ssb()
t0=0.004999;   
% 仿真的持续时间0.004999s 5000个采样点
% 0.049999 50000个采样点
% 0.099999 100000个采样点
ts=0.000001;
fc=50000;   %载波频率
snr=20; %信噪比,以dB来表示
snr_lin =10^(snr/10); %dB转换
fs=1/ts;
df=0.3;  %频率分辨率
t=(0:ts:t0);

%载波信号生成
c=cos(2*pi*fc.*t);     

%生成消息信号(正弦信号)
fc_message=5000;               %调制信号频率
m=cos(2*pi*fc_message.*t);

%方波信号
%m=[ones(11000)-2*ones(12000)zeros(12000)];

%DSB载波调制
%相乘器
dsb=c.*m;

%演示双边带调制频谱
[DSBdsbdf1]=fftseq(dsbtsdf);
DSB=DSB/fs;
f=(0:df1:df1*(length(dsb)-1))-fs/2;
clear dsb

%低通滤波器(调制器)
f_cutoff=50000;          %截止频率
n_cutoff=floor(f_cutoff/df1);
HL_M=zeros(size(f));        
HL_M(1:n_cutoff)=ones(1n_cutoff);
HL_M(length(f)-n_cutoff+1:length(f))=ones(1n_cutoff);

%高通滤波器(调制器)
f_cutoff=50000;
n_cutoff=floor(f_cutoff/df1);
HH_M=ones(size(f));
HH_M(1:n_cutoff)=zeros(1n_cutoff);
HH_M(length(f)-n_cutoff+1:length(f))=zeros(1n_cutoff);
clear HH_M

%滤除上边带
SSB_M=DSB.*HL_M;
ssb_m=real(ifft(SSB_M))*fs;

%重新整理信号长度
ssb=zeros(1length(t));
for i=1:length(t)
    ssb(i)=ssb_m(i);
end
clear ssb_m

%生成噪声
signal_power=spower(ssb(1:length(t))); %计算已调信号功率
noise_po

评论

共有 条评论