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

📄 ch5example14prg1.m

📁 清华大学出版社 邵玉斌编写的《通信系统建模与仿真实例分析》一书的所有MATLAB和SIMULINK代码
💻 M
字号:
% ch5example14prg1.m
clear;
I=imread('colorbar.tif');% 或用 autumn.tif,sydney.JPG等图像文件
figure(1);imshow(I);
I=double(I);
[m,n,p]=size(I);
I=-(0.75-0.125)./(255).*I+0.75;  % 换算为0.125到0.75电平
R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);% 三基色分离
R=reshape(R',1,m*n); % 转换为1维(红)
G=reshape(G',1,m*n); % 转换为1维(绿)
B=reshape(B',1,m*n); % 转换为1维(蓝)

Y=0.30*R+0.59*G+0.11*B;% 亮度
R_Y=R-Y;               % 色差R0
B_Y=B-Y;               % 色差B0
V=0.877*R_Y;           % 色差电平压缩
U=0.493*B_Y;           % 色差电平压缩

f_c=283.5*15625;       % 副载波频率

tvY=[interp1(Y,(1:n/980:m*n),'nearest')];% 插值:行采样980点
tvV=[interp1(V,(1:n/980:m*n),'nearest')];% 插值
tvU=[interp1(U,(1:n/980:m*n),'nearest')];% 插值
% 全电视信号产生
for h=1:(m-2)
    s(1280*h+(1:102))=0.75;  % 消隐脉冲
    s(1280*h+(103:197))=1;   % 行同步头
    s(1280*h+(198:300))=0.75;% 消隐脉冲
    s(1280*h+(301:1280))=tvY(h*980+(-1:978));% 图像一行像素-亮度
    % 色差V
    sV(1280*h+(1:300))=0;     % 消隐部分
    sV(1280*h+(220:265))=0.12;% 色同步选通
    sV(1280*h+(301:1280))=tvV(h*980+(-1:978));% 图像信号部分
    % 色差U
    sU(1280*h+(1:300))=0;
    sU(1280*h+(301:1280))=tvU(h*980+(-1:978));
end
t=0:0.5e-7:0.5e-7*(length(s)-1);% 计算时间点序列,采样率20MHz
F_v=sV.*cos(2*pi*f_c.*t);       % 色差信号正交调制
F_u=sU.*sin(2*pi*f_c.*t);
c=F_v+F_u;                      % 调制输出的色差信号
TVsignal=s+c;                   % 合成彩色电视信号

figure(2); plot(t,TVsignal); xlabel('时间');% 彩色电视信号
figure(3); plot(t,s); xlabel('时间');       % 亮度信号
% 功率谱计算
[Pxxcc,F]=psd(c,1e5,2e7);
figure(4); plot(F,10*log10(Pxxcc),'g');hold on;% 调制后的色差信号频谱
[Pxx,F]=psd(s,1e5,2e7);               % FFT长度为1e5点,故频率分辨率100Hz
figure(4); plot(F,10*log10(Pxx),'k'); % 亮度信号频谱
xlabel('频率 Hz');ylabel('功率谱密度 dB');

⌨️ 快捷键说明

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