www.gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第9章/li9_9.m
clear; i=imread('colorbar.tif');%也可以用其他格式的图像文件 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); %转换为一维(红) g=reshape(g',1,m*n); %转换为一维(绿) b=reshape(b',1,m*n); %转换为一维(蓝) 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; %副载波频率 tuY=[interp1(y,(1:n/980:m*n),'nearest')]; %插值:行采样980点 tuV=[interp1(v,(1:n/980:m*n),'nearest')]; %插值 tuU=[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))=tuY(h*980+(-1:978)); %图像一行像素-亮度 %色差v sv(1280*h+(1:300))=0; %消隐部分 sv(1280*h+(220:265))=0.12; %色同步选通 sv(1280*h+(301:1280))=tuV(h*980+(-1:978)); %图像信号部分 %色差u su(1280*h+(1:300))=0; su(1280*h+(301:1280))=tuU(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); %FFT长度为1e5点,故频率分辨率为100Hz %亮度信号频谱 figure(4); plot(f,10*log10(pxxcc),'r'); hold on; [pxx,f]=psd(s,1e5,2e7); figure(4); plot(f,10*log10(pxx),'k'); xlabel('频率Hz'); ylabel('功率谱密度dB');