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

📄 ch5example15prg1.m

📁 通信程序源代码和模型通信程序源代码和模型通信程序源代码和模型
💻 M
字号:
% ch5example15prg1.m
clear;
ch5example14prg1; % 用实例5.14程序产生彩色全电视信号
%---带限高斯信道---
TVsignal=TVsignal+0.1*randn(size(TVsignal)); % 加入噪声
[b,a]=butter(2,5e6/(20e6/2));                % 传输信道带宽5MHz
TVsignal=filter(b,a,TVsignal);               % 通过带限信道
%---接收部分---
[b,a]=butter(2,0.5e6/(20e6/2)); % 行同步滤波
h_pulse=filter(b,a,TVsignal);
h_pulse=h_pulse>0.87;           % 行同步脉冲选出。门限0.87
c_gate=[zeros(1,100),h_pulse(1:length(h_pulse)-100)];% 延迟100点,选通色同步脉冲

syn=zeros(size(TVsignal));% 色差信号载波存储空间
syn=c_gate.*TVsignal;     % 色同步信号选出
[b,a]=butter(2,[f_c-1000,f_c+1000]/(20e6/2));
syn=filter(b,a,syn);      % 副载波滤波恢复
sync=hilbert(syn, length(syn))/max(syn); % 正交副载波分量恢复

rV=2*TVsignal.*real(sync);
rU=2*TVsignal.*imag(sync);% 相干解调

[b,a]=butter(2,1e6./(20e6/2));
rV=filter(b,a,rV);
rU=filter(b,a,rU);         % 色差信号解调低通1MHz
[b,a]=butter(3,3e6./(20e6/2));
rY=filter(b,a,TVsignal);   % 亮度信号低通3MHz
 
rR=rV/0.877+rY;            % 彩色解码
rB=rU/0.493+rY;
rG=rY/0.59-(0.3/0.59)*rR-(0.11/0.59)*rB;
for h=1:(m-2)
    rRimg(h*980+(0:979))=rR(1280*h+(301:1280));% 行图像信号选出
    rGimg(h*980+(0:979))=rG(1280*h+(301:1280));% 行图像信号选出
    rBimg(h*980+(0:979))=rB(1280*h+(301:1280));% 行图像信号选出
end
rRimg=[interp1([rRimg,0],(1:980/n:m*980))];% 插值,恢复原图分辨率
rGimg=[interp1([rGimg,0],(1:980/n:m*980))];% 插值
rBimg=[interp1([rBimg,0],(1:980/n:m*980))];% 插值
rI(:,:,1)=(reshape([rRimg],n,m))';         % 组合为3维数组并显示图像
rI(:,:,2)=(reshape([rGimg],n,m))';
rI(:,:,3)=(reshape([rBimg],n,m))';
figure(5); imshow(uint8(255-(rI-0.125)./(0.75-0.125)*255));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -