📄 ch5example15prg1.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 + -