• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Matlab
  • 标签: MATLAB  vsb  

资源简介

东西真的很不错 毕业设计专用。。。。。。。。。。。。。。。。。。

资源截图

代码片段和文件信息

function []=vsb()
  
% 残留边带调制
% 输入信号为模拟信号
% 码元宽度 0.000999s
% 整个仿真总计1000个采样点
t0=0.000999;  
ts=0.000001;
t=(0:ts:t0);  %时间变量

%噪声参数调节
snr=100; %信噪比,以dB来表示
snr_lin =10^(snr/10); %dB转换
fs=1/ts;
df=0.3;  %频率分辨率

fc=50000;    %载波频率
fc1=50000;   %本地提取载波频率
%载波信号生成
c=cos(2*pi*fc.*t);     

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

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

%将双边带信号由时域转换到频域
[DSBdsbdf1]=fftseq(dsbtsdf);
DSB=DSB/fs;
f=(0:df1:df1*(length(dsb)-1))-fs/2;

%绘制双边带信号时域波形和频谱
%subplot(211)
%plot(tdsb(1:length(t)))
%subplot(212)
%plot(ffftshift(abs(DSB)))
%残留边带调制滤波器设计
f_band=10000;             %确定互补部分的带宽
f_cutoff1=fc-f_band;          %下截止频率  中心频率为载波频率
f_cutoff2=fc+f_band;              %上截止频率  中心频率为载波频率
n_cutoff1=floor(f_cutoff1/df1);
%调制滤波器,变量名H
H=zeros(size(f));        

%常数增益部分,变量名H1
H1(1:n_cutoff1)=ones(1n_cutoff1);
H1(length(f)-n_cutoff1+1:length(f))=ones(1n_cutoff1);

%频率正半轴互补对称频率分量
%变量名H2
H2=zeros(size(f)); 
H2=-1/((5*10^5-f_cutoff1)-(5*10^5-f_cutoff2)).*(f+(5*10^5-f_cutoff2));
for i=1:1:floor(f_cutoff1/df1)
    H2(i)=0;
end

for i=floor(f_cutoff2/df1):1:length(f)
    H2(i)=0;
end

%频率负半轴互补对称频率分量
%变量名H3
H3=zeros(size(f)); 
H3=1/((5*10^5-f_cutoff1)-(5*10^5-f_cutoff2)).*(f-(5*10^5-f_cutoff2));
for i=(length(f)-n_cutoff1+1):1:length(f)
    H3(i)=0;
end

for i=1:1:(length(f)-floor(f_cutoff2/df1))
    H3(i)=0;
end

%合成调制滤波器
H=H1+H2+H3;
clear H1 H2 H3


评论

共有 条评论