第一篇:南郵08級圖像實驗報告
通信與信息工程學院
2011/2012學年第一學期
實 驗 報 告
實驗課程名稱 數字圖像處理與圖像通信實驗
專
業(yè)
電子信息工程
學 生 學 號
B08020425
學 生 姓 名
席與曦
指 導 教 師
劉
瑜
指 導 單 位
圖像與廣播電視系
日 期: 2011 年9 月 6 日
================================
實驗名稱:圖像的銳化處理
一、實驗目的:
學習用銳化處理技術來加強圖像的目標邊界和圖像細節(jié)。對圖像進行梯度算子、Roberts算子、Sobel算子邊緣檢測處理和Laplace算子邊緣增強處理,是圖像的某些特征(如邊緣、輪廓等)得以進一步的增強及突出。
二、實驗內容:
(1)編寫梯度算子和Roberts算子濾波函數。
(2)編寫Sobel算子濾波函數。
(3)編寫拉普拉斯邊緣增強濾波函數。
三、實驗方法及編程:
在實驗中,我們對于這三種算子的算法,都有其各自對應的模板,根據這個模板我們可以方便地編寫出程序的主體結構。指導書中也有對應的流程框圖可供參考,以下是程序的主體部分:
function newbuf=RobFilter(oldbuf,M,N);% ************************************************************************ % 函數名稱: % RobFilter()% 說明: % ‘Robert梯度’濾波算法。% ************************************************************************ for i=1:M-1 for j=1:N-1 newbuf(i,j)=abs(oldbuf(i,j)-oldbuf(i+1,j+1))+abs(oldbuf(i+1,j)-oldbuf(i,j+1));end end %-----------function newbuf=SobFilter(oldbuf,M,N);% ************************************************************************ % 函數名稱: % SobFilter()% 說明: % ‘Sobel’濾波算法。% ************************************************************************ for i=2:M-1 for j=2:N-1 sx=oldbuf(i+1,j-1)+2*oldbuf(i+1,j)+oldbuf(i+1,j+1)-oldbuf(i-1,j-1)-2*oldbuf(i-1,j)-oldbuf(i-1,j+1);sy=oldbuf(i-1,j+1)+2*oldbuf(i,j+1)+oldbuf(i+1,j+1)-oldbuf(i-1,j-1)-2*oldbuf(i,j-1)-oldbuf(i+1,j-1);newbuf(i,j)=abs(sx)+abs(sy);end end %-----------function newbuf=LapFilter(oldbuf,M,N);% ************************************************************************ % 函數名稱: % LapFilter()% 說明: % ‘Laplace’濾波算法。% ************************************************************************ for i=2:M-1 for j=2:N-1 newbuf(i,j)=5*oldbuf(i,j)-oldbuf(i-1,j)-oldbuf(i+1,j)-oldbuf(i,j-1)-oldbuf(i,j+1);end end %-----------
四、實驗結果及分析:(原圖像和處理后的圖像比較及分析)
從上面的圖像可以看出:
Robert梯度算子得出的圖像能夠得出原圖的大部分邊緣細節(jié),灰度差別越大的地方結果越大,所以顯示時較為明亮。一些邊緣由于灰度差值較小,在得出的結果圖像中不容易分辨出來。
Sobel算子得出的圖像則顯得明亮而粗壯。所有的邊緣細節(jié)均被顯示出來,特別是人物面部。由于其結果粗壯,面部細節(jié)顯得非常密集。
Laplace算子則用以將圖像的邊緣、細節(jié)增強,通過結果結果可以看出,圖像的細節(jié)明顯比原來突出。但是這個方法存在的弊端是,在背景區(qū)域,結果圖像中有一些噪聲的圖樣也被加強了。
日 期: 2011 年9 月 13 日
================================
實驗名稱:圖像信號的數字化
一、實驗目的:
通過本實驗了解圖像的數字化參數取樣頻率(像素個數)、量化級數與圖像質量的關系。
二、實驗內容:
(1)編寫并調試圖像數字化程序。要求參數k,N可調。其中,k為亞抽樣比例,N為量化比特數。
(2)可選任意圖像進行處理,在顯示器上觀察各種數字化參數組合下的圖像效果。
三、實驗方法及編程:
在數字系統(tǒng)中進行處理、傳輸和存儲圖像,必須把代表圖像的連續(xù)信號轉變?yōu)殡x散信號,這種變換過程稱為圖像信號的數字化。它包括采樣和量化兩種處理。本實驗對數字圖像進行再采樣和再量化,以考察人眼對數字圖像的分辨率和灰度級的敏感程度。
function newbuf=Sample_Quant(oldbuf,k,n)% % ************************************************************************ % 函數名稱: % Sample_Quant()圖像數字化算法函數 % 參數: % oldbuf 原圖像數組 % M N 原圖像尺寸 % k 取樣間隔 % n 量化比特值 % newbuf 存放處理后的圖像二維數組 % 說明: % 在水平和垂直方向作1:k取樣,得到新的取樣圖像,再根據量化公式對每個像 % 素分別取n 比特量化,為了觀察顯示的需要,再按k:1的比例將再取樣的圖像還原 % 為原圖像尺寸。最后放入新的圖像數組中并返回該數組。% ************************************************************************ [M,N]=size(oldbuf);oldbuf=double(oldbuf);x=1;y=1;while x
四、實驗結果及分析:(原圖像和處理后的圖像比較及分析)
由實驗結果可以看出,亞抽樣比例k和量化比特數N對都會使圖像變得模糊,但兩者的影響是不相同的。
亞抽樣比例k的大小決定了數字化圖像的方塊效應是否明顯。當k較大時,數字化圖像會有較為明顯的塊狀出現,對于圖像的視覺效果影響很大。
量化比特數N則決定了圖像的灰度級,量化比特數為N時,圖像有個2N灰度級。所以當N較小時,圖像會出現不規(guī)則的區(qū)域有著相同的灰度值的情況,但是這些區(qū)域在原圖像中卻有著差別較小的不同的灰度值。特別是在原圖的灰度漸變的區(qū)域,這種效應會變得尤為明顯。
日 期: 2011 年9 月 20 日
================================
實驗名稱:圖像灰度級修正
一、實驗目的:
掌握常用的圖像灰度級修正方法,即圖像的灰度變換法和直方圖均衡化法,加深對灰度直方圖的理解。
二、實驗內容:
(1)編程實現圖像的灰度變換。改變圖像輸入、輸出映射的灰度參數范圍(拉伸和反比),觀看圖像處理結果。
(2)修改可選參數gamma值,使其大于1,等于1和小于1,觀看圖像處理結果。(3)對圖像直方圖均衡化處理,顯示均衡前后的直方圖和圖像。實驗圖像選用hor256或vax256。
三、實驗方法及編程:
圖像增強常用到三種基本方式,分別為1線性2對數3冪次。線性變換的公式可表示為g?x,y??冪次變換的公式:s?cxr
function newbuf=GrayTransf(oldbuf)% ************************************************************************ % 函數名稱: % GrayTransf()灰度變換函數 % 參數: % oldbuf 原圖像數組 % newbuf 存放處理后的圖像二維數組 % 說明: % 可以任意指定輸入圖像需要映射的灰度范圍和指定輸出圖像所在的灰度范圍。還可接 % 受一個可選的參數來指定修正因素r。% ************************************************************************ [M,N]=size(oldbuf);newbuf=imadjust(oldbuf,stretchlim(oldbuf),[]);newbuf=uint8(newbuf);%-----------function newbuf=GrayGamma(oldbuf,r)% ************************************************************************ % 函數名稱: % GrayGamma()gamma校正函數 % 參數: % r gamma校正值 % oldbuf 原圖像數組 % newbuf 存放處理后的圖像二維數組 % 說明: % 圖像獲取、打印和顯示的各種裝置是根據冪次規(guī)律進行響應的。習慣上,冪次等式中 % 的指數是指伽馬值.用于修正冪次響應現象的過程稱作伽馬校正。% imadjust()函數還可接受一個可選的參數來指定修正因素r(也稱gamma校正值)。% 根據r值的不同,輸入圖像與輸出圖像間的映射可能是非線性的。% ************************************************************************ newbuf=imadjust(oldbuf,stretchlim(oldbuf),[],r);newbuf=uint8(newbuf);%-----------function newbuf=GrayEqualize(oldbuf)% ************************************************************************ % 函數名稱: % GrayEqualize()直方圖均衡算法函數 d?cb?a[f?x,y??a]?c % 參數: % oldbuf 原圖像數組 % newbuf 存放處理后的圖像二維數組 % 說明: % 對oldbuf的原圖像數據進行灰度統(tǒng)計,然后計算每一個K所對應的S值,求出對照 % 表S(k),最后以原圖像灰度值K作為地址,對每一象素進行變換,得出均衡化以后的 % 新圖像存放在newbuf中。% ************************************************************************ [M,N]=size(oldbuf);NN=M*N;sk=0;[COUNTS,X]=imhist(oldbuf,256);for i=1:M for j=1:N kk=double(oldbuf(i,j));for k=1:kk sk=sk+COUNTS(k);end sk=sk/NN*256;newbuf(i,j)=sk;end end newbuf=uint8(newbuf);%-----------
四、實驗結果及分析:(原圖像和處理后的圖像比較及分析)
由實驗結果可以看出,所選的測試圖像的灰度值主要分布于低值的部分。
經過無gamma值的灰度值變換后,直觀地看出:分布于低值部分的直方圖分散開來,分布于幾乎所有的灰度值,但是對映于各個灰度值的像素個數分布仍是不均勻的。變換后的圖像比原圖顯得明亮、清晰。
經過第二第三幅圖像可以進一步看出:gamma值的灰度值變換則明顯受gamma值的影響:當gamma值大于1時,直方圖有向灰度為0的一端壓縮的趨勢,gamma越大,這種趨勢越明顯。此時的圖像比原圖清晰,但是原本偏暗的部分更加偏黑,原本較亮的部分則變得發(fā)白,總體而言,圖像偏暗的部分較多。當gamma值小于1時,其趨勢與gamma值大于1相反,故整個圖像顯得發(fā)白。
直方圖均衡后的圖像也顯得較為清晰、均勻。它能盡量將直方圖變得均衡,分布也更為均勻,各個灰度值所對應的像素個數盡可能相同。
日 期: 2011 年9 月 27 日
================================
實驗名稱:圖像的平滑濾波
一、實驗目的:
圖像平滑主要目的是減少噪聲對圖像的影響。噪聲有很多種類,不同的噪聲有不同的抑制措施。本實驗要求用平滑線性濾波和中值濾波兩種最典型、最常用的處理算法進行程序設計,學習如何對已被污染的圖像進行“凈化”。通過平滑處理,對結果圖像加以比較,得出自己的實驗結論。
二、實驗內容:
(1)編寫并調試窗口尺寸為m×n的平滑濾波函數。
(2)編寫并調試窗口尺寸為m×n的中值濾波函數。
三、實驗方法及編程:
在M*N的圖像f上,用m*n大小的濾波器模板進行線性濾波由這個公式給出:
g?x,y??ab??m??an??bf(x?m,y?n)h(m,n)
function newbuf=AverageFilter(oldbuf,M,N,m)% ************************************************************************ % 函數名稱: % AverageFilter()均值濾波算法函數 % 參數: % oldbuf 噪聲圖像數組 % M N 噪聲圖像尺寸 % m 矩形平滑窗口尺寸 % newbuf 存放處理后的圖像二維數組 % 說明: % 用m*m的濾波器模板對oldbuf數組的噪聲圖像進行線性濾波,即用窗口內m*m個像 % 素的平均灰度值來代替圖像每個像素點的值,最后結果存放在newbuf數組中。% ************************************************************************ oldbuf=double(oldbuf);newbuf=zeros(M,N);for i=(m+1)/2:M-(m+1)/2 for j=(m+1)/2:N-(m+1)/2 for x=-(m-1)/2:(m-1)/2;for y=-(m-1)/2:(m-1)/2;newbuf(i,j)=newbuf(i,j)+oldbuf(i+x,j+y)/(m*m);end end end end %-----------
function newbuf=MedianFilter(oldbuf,M,N,m)% ************************************************************************ % 函數名稱: % MedianFilter()中值濾波算法函數 % 參數: % oldbuf 原圖像數組 % M N 原圖像尺度 % m 滑動窗口尺寸 % newbuf 存放處理后的圖像數組 % 說明: % 把oldbuf數組m*m窗口內的象素值賦給winbuf,然后調用排隊函數SeekMid(),% 把該函數在窗口中找到的中值放到newbuf數組中。% ************************************************************************ for i=(m+1)/2:M-(m+1)/2 for j=(m+1)/2:N-(m+1)/2 k=1;for x=-(m-1)/2:(m-1)/2;for y=-(m-1)/2:(m-1)/2;winbuf(k)=oldbuf(i+x,j+y);k=k+1;end end newbuf(i,j)=SeekMid(winbuf,m);end end %-----------function mid=SeekMid(winbuf,m)% ************************************************************************ % 函數名稱: % SeekMid()排序函數 % 參數:
% winbuf 滑動窗口 % m 滑動窗口尺寸 % mid 存放排序后中間位置的像素值 % 說明: % 將winbuf窗口中的m*m個像素進行排序,將排序隊列中間的像素值賦給變量mid。% ************************************************************************ winsize=length(winbuf);%取窗口尺寸 for i=1:winsize %編寫排序函數 for j=1:winsize-i if(winbuf(i)>winbuf(j+i))t=winbuf(i);winbuf(i)=winbuf(j+i);winbuf(j+i)=t;end end end mid=winbuf(ceil(m*m/2));% ceil函數朝正無窮大方向取整,總能取到中間位置 %-----------
四、實驗結果及分析:(原圖像和處理后的圖像比較及分析)
由實驗結果可以看出,對于處理椒鹽噪聲,中值濾波比均值濾波要好很多。當窗口大小為3×3時,均值濾波能一定程度上降低噪聲的污染,但是,仍能看出在噪聲點,并沒有完全消除噪聲,只是將噪聲與周圍的圖像進行了平均,噪聲點只是顯得模糊了,并沒有完全消除。相比之下,中值濾波則效果明顯,同為3×3的窗口,幾乎能把所有的噪聲點消除,效果非常顯著。當窗口大小變大時,也能將大部分噪聲點消除,但是會帶來嚴重的模糊。
同時我們可以看出,兩種方法都使得處理后的圖像比原圖要模糊,并且隨著窗口的變大,圖像變得越來越模糊。通過兩種方法之間的比較則可以看出,同等窗口下中值濾波帶來的模糊比均值濾波要輕一些。
日 期: 2011 年10 月 11 日
================================
實驗名稱:圖像方塊編碼(BTC)
一、實驗目的:
通過編程實驗,掌握方塊編碼的基本方法及壓縮性能。
二、實驗內容:
編程實現子塊為n×n的方塊編碼基本方法,分別取n=2,4,8方塊尺寸進行方塊編碼實驗,計算編碼后的均方誤差和壓縮比。
三、實驗方法及編程: 本實驗采用的方案為:
(1)xT?x?x?mi?11mi
(2)a0?xl?1m?q1qmm?q?xi?1ii xi?xT
(3)a1?xh??xi?m?q?1 xi?xT
function outbuf=BtcBlock(inbuf,n)% ************************************************************************ % 函數名稱: % btcblock()方塊編碼算法函數 % 參數: % inbuf 方塊數組 % n 方塊尺寸 % outbuf 存放處理后的方塊圖像 % 說明: % 把原圖像分成n*n子塊,對每個方塊的圖像數據分別計算xt,a0,a1值,再用分辨率 % 分量(a0,a1)替代方塊原來的數據 最后放入方塊圖像數組中并返回該數組。% ************************************************************************ temp=0;temp0=0;temp1=0;q=0;m=n*n;inbuf=double(inbuf);for i=1:n for j=1:n temp=temp+inbuf(i,j);end end xt=temp/m;for i=1:n for j=1:n if(inbuf(i,j)>=xt)q=q+1;temp1=temp1+inbuf(i,j);else temp0=temp0+inbuf(i,j);end end end if q~=m a0=round(temp0/(m-q));end if q~=0 a1=round(temp1/q);end for i=1:n for j=1:n if(inbuf(i,j) 四、實驗結果及分析:(原圖像和處理后的圖像比較及分析) 由實驗結果可以看出,窗口大小較小(如2×2)時,編碼圖像與原圖像比幾乎相同,很難察覺出誤差。而當窗口較大(如8×8)時,在一些細節(jié)較多的部位就能看出有較明顯的方塊效應。同時,窗口越大,其對碼率的壓縮效果也越明顯。綜合考慮,當窗口大于8×8時,方塊效應會導致觀察上有一定的障礙,故選擇2×2或4×4較為合適。 日 期: 2011 年10 月 18 日 ================================ 實驗名稱:圖像線性預測編碼(DPCM) 一、實驗目的: 通過編程設計,掌握幀內DPCM的編解碼方法(預測、量化)及其壓縮性能。 二、實驗內容: (1)編制一維前值預測DPCM編解碼程序,預測系數取(1,0,0,0)。 (2)編制二維前值預測DPCM編解碼程序,預測系數取(1/2,1/4,0,1/4)。(3)重建圖像f′(i,j)與原圖像f(i,j)的誤差圖像,用絕對值表示如下。 di,j?nf?(i,j)?f(i,j) 式中的n為放大因子,以便觀察誤差的分布情況。 本實驗采用15個量化分層的主觀量化器,其量化電平分別取(0,±5,±7,±10,±17,±28,±39,±52,±67)。 實驗圖像為cla0或cla1。 三、實驗方法及編程: 圖像的線性預測編碼所運用的基本原理是基于二維圖像中相鄰圖像間存在著很強的相關性。 ?0表示預測值,則x0的預測值為: 假定當前待編碼的像素為x0,ai表示預測系數,并用x?0?a1x1?a2x2?a3x3?a4x4 x預測誤差為: ?0 e?x0?xx0的恢復值為: ??x?0?eq(eq為e的量化值)x0function newbuf=Dpcm_code(oldbuf,M,N,dim);% ************************************************************************ % 函數名稱: % Dpcm_Code()“線性預測編解碼器”算法函數 % 參數: % oldbuf 原圖像數組 % M,N 原圖像尺度 % dim 選擇預測編碼維數 % newbuf 存放處理后的圖像二維數組 % 說明: % 根據線性預測編解碼算法調用各子模塊,對原圖像進行1D/2D線性預測編碼和解碼,% 解碼后的恢復圖像放在newbuf數組中。% ************************************************************************ global newbuf;%定義全局變量 for i=1:M for j=1:N pre_val=Predict_Value(i,j,N,dim);err=oldbuf(i,j)-pre_val;quan_err=Quant_Value(err);res_val=Restor_Value(quan_err,pre_val);newbuf(i,j)=Clip_Value(res_val);end end %-----------function newbuf=Error_Code(M,N,dim);% ************************************************************************ % 函數名稱: % Error_Code()“傳輸誤碼解碼器”算法函數 % 參數: % M,N 原圖像尺度 % dim 選擇預測編碼維數 % newbuf 存放處理后的圖像二維數組 % 說明: % 模擬信道傳輸過程中產生的誤碼,觀察傳輸誤碼經解碼后對恢復圖像的影響,解碼 % 后的恢復圖像放在newbuf數組中。% ************************************************************************ global newbuf;wrong=zeros(M,N);wrong(100,100)=120;for i=1:M for j=1:N pre_val=Predict_Value(i,j,N,dim);err=wrong(i,j);quan_err=Quant_Value(err);res_val=Restor_Value(quan_err,pre_val);newbuf(i,j)=Clip_Value(res_val);end end %-----------function Pvalue=Predict_Value(row,col,N,dim)% ************************************************************************ % {This function is used to give predicted value as linear predictor.% The prediction formula is as follows: % 1_D DPCM: ^x[i,j]=128 if j=1 % x'[i,j-1] if j>1 % 2_D DPCM: ^x[i,j]=128 if i=1,j=1 % x'[ i,j-1] if i=1,j>1 % x'[i-1,j ] if i>1,j=1 or N % 1/2x'[ i,j-1] if i>1,j>1 % 1/8x'[i-1,j-1](Pirsch's predictor)% 1/4x'[i-1,j ] % 1/8x'[i-1,j+1] % Dim : Dimension of prediction % Row : vertical coordinate of current pixel to be predicted % COL : horizontal coordinate of current pixel to be predicted} % ************************************************************************ global newbuf;switch dim case 1 if col==1 Pvalue=128;else Pvalue=newbuf(row,col-1);end case 2 if(row==1&&col==1)Pvalue=128;end if(row==1&&col>1)Pvalue=newbuf(row,col-1);end if(row>1&&col==1)||(row>1&&col==N)Pvalue=newbuf(row-1,col);end if(row>1&&col>1&&col 四、實驗結果及分析:(原圖像和處理后的圖像比較及分析) 由實驗結果可以看出,一維和二維預測編碼圖像與原圖均十分接近,兩者的差別難以察覺。而從誤碼圖像中可以看出,當在某一位置出現誤碼后,一維預測編碼會將誤差延續(xù)至整個行,顯得很明顯。二維預測編碼則與之不同,其將誤碼延續(xù)至其后的斜后方,并且隨著距離的增加迅速消失,總體而言,影響要小一些。兩相比較,可以體現出二維預測編碼的一些優(yōu)勢。 日 期: 2011 年10 月 25 日 ================================ 實驗名稱:JPEG壓縮編碼 一、實驗目的: (1)掌握n×n子塊的DCT圖像變換及頻譜特點。(2)熟悉JPEG基本系統(tǒng)的圖像編解碼方法。 二、實驗內容: (1)編程實現n×n子塊DCT變換的圖像頻譜顯示,8×8子塊DCT變換系數按“Z”(Zig-Zag)掃描圖像重建,計算圖像的均方根誤差RMSE,顯示誤差圖像和誤差直方圖。 (2)編程實現JPEG壓縮編碼,進行8×8子塊的DCT圖像變換,JPEG量化矩陣的量化與反量化,8×8子塊DCT的圖像重建,計算圖像的均方根誤差RMSE,顯示誤差圖像和誤差直方圖。 三、實驗方法及編程: DCT頻譜系數在方塊中的分布有如下規(guī)律:直流系數位于左上角第一個的位置,且值較大。余下的為交流系數,越向右下角系數的值一般越小,屬于高頻分量。在細節(jié)較多的區(qū)域,DCT頻譜系數整體顯得較亮,而在背景區(qū),除了直流系數和少數低頻系數,其余都為0或很小的值,故而顯示為黑色。對DCT系數做反DCT變換則可復原出原圖。若反變換前對DCT系數進行取舍則可以降低碼率,但是,會對圖像質量帶來一定的影響。JPEG壓縮編碼的算法主要計算步驟如下: (1)通過前向離散余弦變換減少圖像數據相關性。 (2)利用人眼的視覺特性對DCT系數進行量化。 (3)使用差分脈沖編碼調制對直流系數進行編碼。 (4)對交流系數進行“Z”形掃描,使用行程長度編碼對交流系數進行編碼。 (5)熵編碼器對上述描述符進行熵編碼,可以采用霍夫曼編碼,也可以采用算數編碼。 function newbuf=DctBlock(oldbuf,Block)% ************************************************************************ % 函數名稱: % DctBlock()DCT n*n塊頻譜函數 % % 參數: % oldbuf 原圖像數組 % Block DCT n*n當前塊選擇值 % newbuf 存放處理后的圖像二維數組 % % 說明: % 根據Block塊的當前選擇值,計算原圖像的n*n塊DCT變換,并轉換為可視頻譜圖,% 有利于頻譜的觀察。% ************************************************************************ oldbuf=double(oldbuf);H=dctmtx(Block);newbuf=blkproc(oldbuf,[Block Block],'P1*x*P2',H,H');newbuf=log(abs(newbuf));subplot(2,2,2);imshow(newbuf,[]);%-----------function newbuf=DctCode(oldbuf,DCTch)% ************************************************************************ % 函數名稱: % DctCode()DCT 8*8 塊系數“Z”字掃描圖像壓縮函數 % % 參數: % oldbuf 原圖像數組 % DCTch DCT 8*8 塊“Z”掃描當前系數選擇值 % newbuf 存放處理后的圖像二維數組 % % 說明: % 計算圖像的8×8子塊DCT變換,按“Z”字掃描順序,根據DCTch參數,只保留64個 % DCT系數中的前DCTch個系數,對修改后的DCT系數用逆DCT變換重建圖像,得到DCT % 變換的壓縮圖像。計算重建圖像的均方根誤差RMSE ;顯示誤差圖像和誤差直方圖。% ************************************************************************ zigzag=[1 2 6 7 15 16 28 29 %設置Z掃描順序 3 5 8 14 17 27 30 43 4 9 13 18 26 31 42 44 10 12 19 25 32 41 45 54 11 20 24 33 40 46 53 55 21 23 34 39 47 52 56 61 22 35 38 48 51 57 60 62 36 37 49 50 58 59 63 64];tbuf=ones(8);%定義8*8全1數組 maskbuf=tbuf.* zigzag<=DCTch;%根據當前DCTch值得到“Z”字掃描的二值掩模 oldbuf=double(oldbuf);H=dctmtx(8);dctno=blkproc(oldbuf,[8 8],'P1*x*P2',H,H');newbuf=blkproc(dctno,[8 8],'P1*(x.*P2)*P3',H',maskbuf,H);subplot(2,2,2);imshow(newbuf,[]);eimag(oldbuf,newbuf);%-----------function newbuf=JpegCode(oldbuf)% ************************************************************************ % 函數名稱: % JpegCode()JPEG近似基準編碼 % % 參數: % oldbuf 原圖像數組 % newbuf 存放處理后的圖像二維數組 % % 說明: % 實現JPEG壓縮編碼,進行 8×8 子塊DCT變換、JPEG量化矩陣的量化與反量化,8×8 %子塊DCT的圖像重建;計算重建圖像的均方根誤差RMSE;顯示誤差圖像和誤差直方圖。% ************************************************************************ z = [16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99];%標準亮度量化表 oldbuf=double(oldbuf);%原圖像數據轉換為雙精度 H=dctmtx(8);dctno=blkproc(oldbuf,[8 8],'P1*x*P2',H,H');jpegno=blkproc(dctno,[8 8],'round(x./P1)',z);jpegno1=blkproc(jpegno,[8 8],'x.*P1',z);newbuf=blkproc(jpegno1,[8 8],'P1*x*P2',H',H);subplot(2,2,2);imshow(newbuf,[]);eimag(oldbuf,newbuf);%-----------function eimag(oldbuf,newbuf)% ************************************************************************ % 函數名稱: % eimag()% 說明: % 計算重建圖像的均方根誤差RMSE;顯示誤差圖像和誤差直方圖。% ************************************************************************ e=double(oldbuf)-newbuf;%計算原圖像與壓縮圖像之差 [m,n]=size(e);RMSE=sqrt(sum(e(:).^2)/(m*n));%計算均方根誤差 if RMSE %如果有誤差,即rmse不為0 emax=max(abs(e(:)));%找圖像差最大值 [h,x]=hist(e(:),emax);%用于生成直方圖數據 if length(h)>= 1 %如果有數據 s=max(h(:));subplot(2,2,3),bar(x,h/s,'k');%顯示圖像差值直方圖 RMSE=num2str(RMSE);%把數值轉換為字符串 strRMSE=strcat('圖像差值直方圖 均方根誤差RMSE= ',RMSE);%把多個串連接成長串 title(strRMSE);e=mat2gray(e,[-emax,emax]);%顯示差值圖像 subplot(2,2,4),imshow(e);title('原圖像與壓縮圖像的差值圖像');%顯示結果圖像標題 end end %----------- 四、實驗結果及分析:(原圖像和處理后的圖像比較及分析)由實驗結果可以看出: 當保留的系數很少時,恢復的圖像有著嚴重的方塊效應,對觀看造成很大的阻礙。而當保留的系數較多時,恢復的圖像和原圖十分接近,對于觀看基本沒有影響。 JPEG是常用的靜態(tài)圖片編碼方法,實驗時進行了一定的簡化。從結果看,其編碼的結果較好,對觀看影響很小。同時,JPEG對于碼率的壓縮也是效果很好的。 實驗課程小結和思考(包括感想、體會與啟示) 本學期所學的圖像處理和圖像通信編碼方面的實驗所用到的理論知識在以前的課程中都學習過,但是當運用到實際實驗中的時候卻顯得比較生疏。這次實驗課程讓我對于理論知識和Matlab軟件的應用有了更多的了解,尤其是一些編程函數與之前學習的C或是C++有很大區(qū)別,這花費了我一定的時間去學習Matlab的使用。 實驗中的內容都是較為基礎和簡單的,與實際應用還有較大的距離。在今后的工作與學習過程中肯定會遇到復雜的多的難題。但是通過這次實驗課程,我從中看到了這些知識的應用方向與方法,對我有很大的幫助。 實驗一、控制系統(tǒng)的時域分析 實驗二、線性系統(tǒng)的根軌跡研究 實驗三、系統(tǒng)的頻率響應和穩(wěn)定性研究 實驗四、連續(xù)系統(tǒng)串聯(lián)校正 課程名稱: 自動控制原理 仿真實驗一:控制系統(tǒng)的時域分析 一、實驗目的:. 觀察控制系統(tǒng)的時域響應; 2 . 記錄單位階躍響應曲線; 3 . 掌握時間響應分析的一般方法; 4 . 初步了解控制系統(tǒng)的調節(jié)過程。 二、 實驗步驟:. 開機進入 Matlab 運行界面。. Matlab 指令窗:“Command Window”,運行相關指令。依次完成實驗內容。. 本次實驗的相關 Matlab 函數(參考材 教材 P74: : 控制系統(tǒng)模型描述): G=tf([num],[den])可輸入一傳遞函數。 step(G,t)在時間范圍 t 秒內,畫出單位階躍響應圖。 impulse(G,t)在時間范圍 t 秒內,畫出單位脈沖響應圖。 三、 實驗結果 1.觀察一階系統(tǒng)1()1sTs? ??數 的時域響應:取不同的時間常數 T,分別觀察該系統(tǒng)的脈沖響應、階躍響應、斜坡響應以及單位加速度響應。 脈沖響應: T=1s T=3S 階躍響應: T=1s T=7s 斜坡響應: T=1s T=3s 單位加速度 響應: T=1s T=7s 2、、二階系統(tǒng)的時域性能分析:觀測 二階系統(tǒng)22 2()2nn nss??? ?? ?? ?的單位 階躍響應。 ((1)) 令 1n? ?,0, 0.5, 2 ? 分別取,結合單位 階躍 響應圖,觀察阻尼比對階躍響應的影響。 阻尼比 =0 : >> G=tf([1],[1,0,1]) Transfer function: 1 ------- s^2 + 1 >> step(G,18) 阻尼比 =0.5 : >> G=tf([1],[1,1,1]) Transfer function:1 ----------- s^2 + s + 1 >> step(G,18) 阻尼比 =2 : >> G=tf([1],[1,2,1]) Transfer function:1 ------------- s^2 + 2 s + 1 >> step(G,18) 結論: 當阻尼比取 0 0 時,其振蕩頻率為 1 1,即為無阻尼振蕩;當阻尼比大于 0 0 小于 1 1 時,二階系統(tǒng) 為欠阻尼二階系統(tǒng),其單位階躍響應為衰減振蕩;當阻尼于 比大于 1 1 時,二階系統(tǒng)為過阻尼二階系統(tǒng),其單位階躍響應為是非振蕩的。 (2 2) 令 0.5 ? ?,1, 2, 5n? 分別取 ,結合單位階躍響應圖,觀察自然頻率對階躍響應的影響。 自然頻率 =1 : >> G=tf([1],[1,1,1]) Transfer function:1 ----------- s^2 + s + 1 >> step(G,18) 自然頻率 =2 : >> G=tf([4],[1,2,4]) Trans fer function:2 ------------- s^2 + 2 s + 2 >> step(G,18) 自然頻率 =5 : >> G=tf([25],[1,5,25]) Transfer function:5 ------------- s^2 + 5 s + 5 >> step(G,18) 結論: 自然頻率越小,阻尼比越小,系統(tǒng)的階躍響應幅值越大。 ((3)) 調節(jié)自然頻率與阻尼比,要求: Tr<0.56s Tp<1.29s Ts<5.46 超調不大于 于 5 %.記錄下滿足上述要求的自然頻率與阻尼比。 G=tf([45],[1,10,45])G = 45 --------------- s^2 + 10 s + 45 Continuous-time transfer function.>> step(G,6) 自然頻率=16.9538rad/sec 阻尼比=0.73578 實驗二線性系統(tǒng)的根軌跡研究 2.1 實驗目的((1)) 考察閉環(huán)系統(tǒng)根軌跡的一般形成規(guī)律。 ((2)) 觀察和理解引進零極點對閉環(huán)根軌跡的影響。 ((3)) 觀察、理解根軌跡與系統(tǒng)時域響應之間的聯(lián)系。 ((4)) 初步掌握利用產生根軌跡的基本指令和方法。 2.2 實驗內容 根軌跡繪制的指令法、交互界面法;復平面極點分布和系統(tǒng)響應的關系。 已知單位負反饋系統(tǒng)的開環(huán)傳遞函數為2)^ 5 4()2()(2? ???s ss Ks G,實驗要求: ((1)) 用 試用 MATLAB 的 的 rlocus 指令,繪制閉環(huán)系統(tǒng)根軌跡。(要求寫出指令,并繪出圖形。) 指令: :G=tf([1 2],[1 8 26 40 25]) rlocus(G) ((2)) 用 利用 MATLAB 的 的 rlocfind 指令,確定根軌跡的分離點、根軌跡與虛軸的交點。(要求寫出指令,并給出結果。) 指令: :rlocfind(G)分離點:-2.0095 + 1.0186i K=0.0017 與 虛軸的 交點: :-0.0000 + 3.6025i K=65.8411 ((3)) 用 利用 MATLAB 的 的 rlocfind 指令, 求出系統(tǒng)臨界穩(wěn)定增益, 并用指令驗證系統(tǒng)的穩(wěn)定性。 系統(tǒng) 臨 界穩(wěn)定增益: :65.8411 由于系統(tǒng) 無右半平面的開環(huán)極點,且 奈奎斯特曲線不 包圍((-1,j0)點。 系統(tǒng)穩(wěn)定。 ((4)) 用 利用 SISOTOOL 交互界面,獲取和記錄根軌跡分離點、根軌跡與虛軸的交點處的關鍵參數,并與前面所得的結果進行校對驗證。(要) 求寫出記錄值,并給出說明。) 指令: :SISOTOOL(G) 原值: :K=0.00017 校正值: :K=0.000169 原值:K=65.8411 校正值:K=71.8((5)) 在 在 SISOTOOL 界面上,打開閉環(huán)的階躍響應界面,然后用鼠標使閉環(huán)極點(小紅方塊)從開環(huán)極點開始沿根軌跡不斷移動,在觀察三個閉環(huán)極點運動趨向的同時,注意觀察系統(tǒng)階躍響應的變化。根據觀察,(A)寫出響應中出現衰減振蕩分量時的 的 K 的取值范圍,(B)寫出該響應曲線呈現“欠阻尼”振蕩型時的 K。的取值范圍。 (A A) 0< K<71.8 (B B) 0 實驗三系統(tǒng)的頻率響應和穩(wěn)定性研究 3.1 實驗目的(1)繪制并觀察典型開環(huán)系統(tǒng)的 Nyquist 圍線。 (2)繪制并觀察典型開環(huán)系統(tǒng)的 Bode 圖。 (3)運用 Nyquist 準則判斷閉環(huán)系統(tǒng)的穩(wěn)定性。 (4)初步掌握相關 MATLAB 指令的使用方法。 3.2 實驗內容 一、(必做內容)使用 sisotool 交互界面研究典型開環(huán)系統(tǒng)的頻率特性曲線,并進行閉環(huán)系統(tǒng)穩(wěn)定性討論。 以下各小題的要求: (A)根據所給開環(huán)傳遞函數的結構形式,繪制相應的幅相頻率曲線和對數幅相頻率曲線。 (B)顯示出曲線對應的開環(huán)傳遞函數具體表達式。 (C)假如 MATLAB 指令繪制的幅相頻率曲線不封閉,或用文字說明所缺部分曲線的走向,或在圖上加以添加所缺曲線;曲線與(-1,j0)點的幾何關系應足夠清晰,能支持判斷結論的導出。 (D)對該開環(huán)函數構成的單位負反饋系統(tǒng)的穩(wěn)定性作出判斷,說明理由;假如閉環(huán)不穩(wěn)定,則應指出不穩(wěn)定極點的數目。 (1))1)(1(2 11? ??s T s TKG,其中 K , T 1, T 2 可取大于 0 的任意數。 取 K=1,T1=1,T2=2; 指令如下: G=tf([1],[2 3 1])Transfer function: 2 s^2 + 3 s + 1 margin(G)nyquist(G) P=0,R=0,Z=0 系統(tǒng)穩(wěn)定 (2))1)(1)(1(3 2 12? ? ??s T s T s TKG,其中 K , T 1, T 2, T 3 可取大于 0 的任意 取 K=1,T1=1,T2=2,T3=3; 指令如下: G=tf([1],[6 11 6 1])Transfer function:------------------------6 s^3 + 11 s^2 + 6 s + 1 margin(G) nyquist(G) P=0,R=0,Z=0 系統(tǒng)穩(wěn)定 (3))1(14??s T sKG,其中 K , T 1 可取大于 0 的任意數。 取 K=1,T1=1; 指令如下: G=tf([1],[1 1 0])Transfer function:-------s^2 + s margin(G) nyquist(G) P=0,R=0,Z=0 系統(tǒng)穩(wěn)定(4))1)(1()1(2 16? ???s T s T ss T KGa,其中。 K 可取大于 0 的任意數。 K=1,Ta=1,T1=1,T2=2; 指令如下: G=tf([1 1],[2 3 1 0])Transfer function: s + 1-----------------2 s^3 + 3 s^2 + s margin(G)nyquist(G) P=0,R=0,Z=0 系統(tǒng)穩(wěn)定(5))1(127??s T sKG,其中 K , T 1 可取大于 0 的任意數。 K=1,T1=1; 臨界穩(wěn)定,指令如下: G=tf([1],[1 1 0 0])Transfer function: 1---------s^3 + s^2 margin(G) nyquist(G) (6)1128,)1()1(T Ts T ss T KGaa????,其中 K 可取大于 0 的任意數。 K=1,Ta=2,T1=1; 指令如下: G=tf([2 1],[1 1 0 0])Transfer function:s + 1---------s^3 + s^2 margin(G)nyquist(G) 臨界穩(wěn)定(7)1129,)1()1(T Ts T ss T KGaa????,其中 K 可取大于 0 的任意數。 K=1,Ta=1,T1=2; 臨界穩(wěn)定,指令如下: G=tf([1 1],[2 1 0 0])Transfer function: s + 1-----------2 s^3 + s^2 margin(G)nyquist(G) (8)210)1)(1(ss T s T KGb a? ??,其中 K , T a,T b 可取大于 0 的任意數。 時間常數 T 與 K 給出具體數值仿真 取 K=1,Ta=1,Tb=2 指令如下: G=tf([2,3,1],[1,0,0])G =s^2 + 3 s + 1 --------------- s^2 Continuous-time transfer function.>> margin(G)>> nyquist(G) 臨界穩(wěn)定 實驗四 連續(xù)系統(tǒng)串聯(lián)校正 一、實驗目的 1.加深理解串聯(lián)校正裝置對系統(tǒng)動態(tài)性能的校正作用。 2.對給定系統(tǒng)進行串聯(lián)校正設計,并通過模擬實驗檢驗設計的正確性。 二、實驗儀器 1.EL-AT-III 型自動控制系統(tǒng)實驗箱一臺 2.計算機一臺 三、實驗內容 1.串聯(lián)超前校正(1)系統(tǒng)模擬電路圖如圖 5-1,圖中開關 S 斷開對應未校情況,接通對應超前校正。 圖 圖 5 5--1 1 超前校正電路圖 (2)系統(tǒng)結構圖如圖 5-2 圖 圖 5 5--2 2 超前校正系統(tǒng)結構圖 圖中 Gc1(s)=2 2(0.055s+1) Gc2(s)= 0.005s+1 2.串聯(lián)滯后校正(1) 模擬電路圖如圖 5-3,開關 s 斷開對應未校狀態(tài),接通對應滯后校正。 圖 圖 5 5--3 滯后校正模擬電路圖 (2)系統(tǒng)結構圖示如圖 5-4 圖 圖 5 5--4 滯后系統(tǒng)結構圖 圖中 Gc1(s)=10 10(s+1) Gc2(s)= 11s+1 3.串聯(lián)超前—滯后校正(1) 模擬電路圖如圖 5-5,雙刀開關斷開對應未校狀態(tài),接通對應超前—滯后校正。 圖 圖 5 5--5 超前 — 滯后校正模擬電路圖 (2) 系統(tǒng)結構圖示如圖 5-6。 圖 圖 5 5--6 6 超前 — 滯后校正系統(tǒng)結構圖 圖中 Gc1(s)=6 6(1.2s+1)(0.15s+1) Gc2(s)= (6s+1)(0.05s+1) 四、實驗步驟 1.啟動計算機,在桌面雙擊圖標 [自動控制實驗系統(tǒng)] 運行軟件。 2.測試計算機與實驗箱的通信是否正常,通信正常繼續(xù)。如通信不正常查找原因使通信正常后才可以繼續(xù)進行實驗。 超前校正: 3.連接被測量典型環(huán)節(jié)的模擬電路(圖 5-1)。電路的輸入 U1 接 A/D、D/A 卡的 DA1 輸出,電路的輸出 U2 接 A/D、D/A 卡的 AD1 輸入,將將純積分電容兩端連在模擬開關上。檢查無誤后接通電源。 4.開關 s 放在斷開位置。-5.在實驗項目的下拉列表中選擇實驗五[五、連續(xù)系統(tǒng)串聯(lián)校正]。鼠標單擊 按鈕,彈出實驗課題參數設置對話框。在參數設置對話框中設置相應的實驗參數后鼠標單擊確認等待屏幕的顯示區(qū)顯示實驗結果,并記錄超調量?p 和調節(jié)時間 ts。 6.開關 s 接通,重復步驟 5,將兩次所測的波形進行比較。并將測量結果記入下表中: 超前校正系統(tǒng) 指標 校正前 校正后 階躍響應曲線 見圖 1.1 見圖 1.2 δ% 51.1 11,8 Tp(秒) 166 118 Ts(秒) 1152 154 滯后校正: 7.連接被測量典型環(huán)節(jié)的模擬電路(圖 5-3)。電路的輸入 U1 接 A/D、D/A 卡的 DA1 輸出,電路的輸出 U2 接 A/D、D/A 卡的 AD1 輸入,將純積分電容兩端連在模擬開關上。檢查無誤后接通電源。 8.開關 s 放在斷開位置。 9.在實驗項目的下拉列表中選擇實驗五[五、連續(xù)系統(tǒng)串聯(lián)校正]。鼠標單擊 按鈕,彈出實驗課題參數設置對話框,在參數設置對話框中設置相應的實驗參數后鼠標單擊確認等待屏幕的顯示區(qū)顯示實驗結果,并記錄超調量?p 和調節(jié)時間 ts。 10.開關 s 接通,重復步驟 9,將兩次所測的波形進行比較。并將測量結果記入下表中: 滯后校正系統(tǒng) 指標 校正前 校正后 階躍響應曲線 見圖 2.1 見圖 2.2 δ% 67.2 11.53 Tp(秒) 213 439 Ts(秒) 2529 529 五、實驗報告 1.計算串聯(lián)校正裝置的傳遞函數 Gc(s)和校正網絡參數。 2.畫出校正后系統(tǒng)的對數坐標圖,并求出校正后系統(tǒng)的ω′c 及ν′。 3.比較校正前后系統(tǒng)的階躍響應曲線及性能指標,說明校正裝置的作用。 階躍響應曲線: 串聯(lián)超前校正前: 串聯(lián)超前校正后: 圖 1.1 圖 1.2 串聯(lián)滯后校正前: 串聯(lián)滯后校正后: 圖 2.1 圖 2.2 串聯(lián)超前校正前: G(s)= Wc=16.7rad/s,V=17 度 串聯(lián)超前校正后: G(s)= Wc=25rad/s,V=65 度 串聯(lián)滯后校正前: G(s)= Wc=17.7rad/s V=-14 度 串聯(lián)滯后校正后: G(s)= Wc=6.83rad/s V=31 度 由以上實驗結果,得到校正裝置作用:超前校正的是利用超前校正網絡的相位超前特性來增大系統(tǒng)的相位裕量,以達到改善系統(tǒng)瞬態(tài)響應的目的。為此,要求校正網絡最大的相位超前角出現在系統(tǒng)的截止頻率(剪切頻率)處。由于 RC 組成的超前網絡具有衰減特性,因此,應采用帶放大器的無源網絡電路,或采用運算放大器組成的有源網絡。 滯后校正裝置即利用校正裝置的超前部分來增大系統(tǒng)的相位裕度,以改善其動態(tài)性能;利用它的滯后部分來改善系統(tǒng)的靜態(tài)性能,兩者分工明確,相輔相成。 通信與信息工程學院 2016/2017學年 第一學期 信息技術綜合實驗報告 專 業(yè) 廣播電視工程 學生班級 B130114 學生學號 B13011413 學生姓名 陳超 實驗一 電視節(jié)目制作 一、實驗目的 學習非線性編輯系統(tǒng)的操作使用,掌握非線性系統(tǒng)節(jié)目編輯流程,熟悉編輯軟件的功能及應用。了解大洋資源管理器主要功能,掌握故事板文件和項目文件的創(chuàng)建,掌握素材的選中,素材的排序、復制、粘貼、刪除、移動、導入、導出,以及素材創(chuàng)建的基本方法。 二、實驗內容 1、素材的導入和管理及采集 (1)練習在項目窗口中導入素材文件;(2)熟悉素材的管理;(3)熟悉素材的采集方法。 2、編輯影片 (1)練習在“時間線”窗口中添加、刪除素材的方法;(2)練習在“時間線”窗口中處理素材的方法。 三、實驗步驟 打開premiere軟件,新建項目“1316”。 1、制作倒計時片頭 新建一個序列,在視頻軌道內添加五個數字的字幕,將每個數字時間設置為1秒,從5到1倒序排放。 新建字幕,設計背景。新添時鐘式擦除的效果,設置時間為5秒。 2、插入圖片或視頻作為內容 點擊“文件”、“導入”,將節(jié)目素材導入Premiere軟件,從項目面板中拉出節(jié)目素材,使用對齊功能緊貼在倒計時之后。 3、制作字幕 新建一個字幕。設置為滾動播放,選擇開始于屏幕外,結束于屏幕外。新添文本框,輸入標題“28-304”與正文部分“B130111413”、“B13011416”的文字。效果如下圖。 四、實驗小結 通過此次實驗,我們學會了如何使用Premeire軟件制作視頻,重點掌握了包括開頭倒計時、視頻圖像等素材插入以及結尾字幕等基本操作;在動手制作簡短視頻的同時,也極大地激發(fā)起對于對非線性系統(tǒng)節(jié)目編輯的興趣與實踐能力。 實驗二 TS碼流離線分析 一、實驗目的 在了解MPEG-2 TS碼流復用原理之后,利用碼流分析軟件觀察實際MPEG-2碼流結構。 二、實驗內容 利用碼流分析軟件觀察實際MPEG-2碼流結構,查看碼流的SI信息、PID分配使用情況、帶寬使用情況及特定PID包數據。 三、實驗步驟 1、運行MTSA.EXE,選擇碼流來源:加載磁盤中的碼流文件,點擊“Browse”按鈕,彈出“打開”對話框,在里面選擇碼流文件。點擊“OK”按鈕后進入程序界面,程序界面分成四個子窗口。 2、設定文件饋送屬性,系統(tǒng)菜單——〉TS Feed ——〉Configure/Tune,彈出對話框,將Lock Bitrate和Loop Infinitely兩個復選框選中,點ok退出。 3、PSI信息查看 選擇SI Tables窗口頁,即可看到當前碼流包含的各種PSI表。 4、PID分配使用情況 選擇PID GRID窗口頁,即可看到當前碼流使用的PID情況。 5、查看帶寬使用情況: 選擇Bandwidth窗口頁,即可看到當前碼流數據帶寬使用情況。 6、從當前碼流中提取特定PID包數據 系統(tǒng)菜單——〉Tools——〉Custom PID Filter,輸入要獲取包的PID,例如PID=0 的TS包。記錄文件用UltraEdit軟件打開查看。 四、實驗小結 通過此次實驗,利用碼流分析軟件對MPEG-2碼流的結構進行了觀察和分析,主要對PSI表、碼流的帶寬使用情況和PID分配使用情況進行研究,并通過從碼流中提取特定的PID包數據對碼流的復用與編解碼原理有了更深刻的認識。碼流分析軟件的掌握也為后續(xù)實驗奠定了基礎。 實驗三 TS碼流解碼過程分析 一、實驗目的 掌握利用碼流分析軟件觀察MPEG-2碼流解碼過程的方法,了解TS碼流的解碼過程,熟悉TS碼流中PSI信息流的結構、內容和功能,加深對MPEG-2碼流結構的理解。 二、實驗內容 利用碼流分析軟件分析PSI信息流的內容,并根據PAT、PMT表的內容,完成對特定視頻流的解碼。 三、實驗步驟 1、運行MTSA.EXE,選擇碼流來源:加載磁盤中的碼流文件,點擊“Browse”按鈕,彈出“打開”對話框,在里面選擇碼流文件。點擊“OK”按鈕后進入程序界面,程序界面分成四個子窗口。 2、設定文件饋送屬性,系統(tǒng)菜單——〉TS Feed ——〉Configure/Tune,彈出對話框,將Lock Bitrate和Loop Infinitely兩個復選框選中,點ok退出。 3、查看PSI信息,展開PAT表,查看某一視頻流的PMTPid,為1130。 4、展開PMT表,根據PMTPid查找對應的PMT表,查看視頻流對應的Pid,為1131。 5、選擇PID GRIDPHOENIX。 窗口頁,查看PID分配使用情況,根據Pid查找對應的視頻的名稱,為 6、選擇EPG窗口頁,查看EPG信息,并選中視頻名稱為PHOENIX的條目。 7、選擇TV窗口頁,查看解碼后的視頻。 四、實驗小結 通過此次實驗,利用碼流分析軟件,在對PAT和PMT表查看分析的基礎上,通過選取特定PAT和PMT,對此視頻段的碼流進行更深入分析,包括查看PID號、PID分配情況以及對所對應視頻名稱等,最終將其解碼顯示,驗證了碼流復用基本原理,也帶給我們對理論知識更深刻的認知與理解。 南京郵電大學通達學院 課程實驗報告 題 目: IP網絡中的TCP-UDP通信實驗 學 院 通達學院 學 生 姓 名 王偉慧 班 級 學 號 10005002 指 導 教 師 王珺 開 課 學 院 通信與信息工程學院 日 期 2013.5 一,實驗目的 了解局域網TCP消息通信過程的機制; 1,了解局域網UDP消息通信過程的特點; 2,熟悉最簡單的Socket類的操作和使用; 3,實現字符串通信、文件(ASCII文件)傳輸、Socket局域網電話的實現; 二 實驗設備及軟件環(huán)境 答:一臺或兩臺裝有VC++的帶有網卡的PC機(或工控機)。 以太網TCP通信UDP通信服務器端10.10.9.1客戶端10.10.9.210.10.9.3710.10.9.15 三 實驗步驟 內容一:基于TCP協(xié)議的Socket消息發(fā)送和接收 說明:事例程序包括“TCP聊天服務器” 與“TCP聊天客戶端”。1,運行示例程序“TCP聊天服務器”設置端口號:1001,2,點擊“服務器開啟服務” 3,運行示例程序“TCP聊天客戶端”,設置端口號一定要與“TCP聊天服務器”設置的一致。如果在同一臺機器上運行,輸入服務器IP地址:127.0.0.1,如果不在同一臺機器上,輸入局域網上服務器所在機器的IP地址(當然首先確保局域網通暢)4,點擊“連接” 在客戶端輸入文字消息,可以看到服務器端能顯示出客戶機的名稱、IP地址、以及通過Socket消息發(fā)送過來的文字內容。內容二,基于UDP的SOCKET消息 1,(必須是在兩臺機器上,說明書上示意為10.10.9.37和10.10.9.15兩個IP地址)均運行程序“UDP客戶端”,運行界面如圖1.5,注意此時已經沒有明確的“服務器”“客戶端”之說,“服務器名”輸入對端IP地址,端口號必須一致。2,分別點擊“打開端口”,連接上服務器后,可以互發(fā)消息 四.實驗內容及實驗結果 TCP通信 UDP通信 五.實驗體會 實驗過程中,雖然有很多的困難,但經過老師和同學的知道,最終都順利解決了,實驗之后,對TCP、UDP的通信連接有了更加深刻的認識,增長了有關通信技術方面的知識,對以后的學習生活,都會有很大的幫助。 六.思考題 3,如果現在要傳送一個TXT文本,應如何實現,寫出編程思路?(1)打開文本 將內容讀入 緩沖區(qū)(2)與 另一臺機器建立 socket連接(3)發(fā)送 (4)另一臺機器 保存接收到的內容 5,TCP本機通信時可以使用哪些IP地址來進行訪問? 答:1.本機設定的IP 2.環(huán)回地址,以127.開頭的IP地址如127.0.0.1 6.TCP通信時如果服務器一方改變端口號,客戶端應做怎樣的處理? 答:因為客戶端一般情況下不設置端口號,因此在調用SOCKET()創(chuàng)建套接口后,直接調用CONNECT()函數連接到目標主機,這中情況下客戶端的端口是系統(tǒng)分配的,如果你想自己指定客戶端的端口,那么就象服務端一樣,在SOCKET()創(chuàng)建套接口后,調用一下BIND()函數綁定本機端口,然后再調用CONNECT()函數。 實驗一 脈沖與雙音多頻信號的接收實驗 (實驗指導書中“實驗五”) 一、實驗目的 1、了解脈沖信號與雙音多頻信號在程控交換系統(tǒng)中的發(fā)送和接 受方法。 2、熟悉該電路的組成及工作過程。 二、實驗儀器 1、程控交換實驗箱 一臺 2、電話單機 兩臺 三、實驗內容與步驟 1、實驗準備:連接電話單機;檢查實驗箱與 PC機的串口連線。 2、打開實驗箱電源,電源指示燈亮,正常狀態(tài)下,CPU工作指示燈間歇閃動,+5V、-5V、-48V開關電源燈亮,25Hz信號燈閃亮,L11-L14 燈亮,串行通信指示燈亮,四路話機處于待機狀態(tài)。之后啟動 PC 機,選擇進入實驗界面。 3、脈沖信號發(fā)號收號實驗 1)設置話機撥號方式“P”。 2)主叫取機,PC 上顯示出主叫號碼。 19-1 3)主叫聽到撥號音后,撥被叫號碼。撥號同時觀察 PC界面上脈沖撥號波形,當有鍵按下時可看到撥號脈沖波形。撥號完畢后 PC界面上顯示被叫號碼(只認前兩位撥號) 4、DTMF 信號的發(fā)送、接收、編/解碼實驗 1)設置話機撥號方式“T”。 2)主叫取機,PC 上顯示出主叫號碼。 3)主叫聽到撥號音后,撥被叫號碼。 4)撥號同時觀察 PC 界面上的雙音頻信號波形并記錄: DTMF 狀態(tài): DTMF 狀態(tài)檢測點。當有鍵按下時,該點為高電平;DTMF信號消失后,該點則為低電平。收號中斷: DTMF 發(fā)號中斷檢測點。當無鍵按下時,該點為低電平; 有鍵按下時是高電平,同時DTMFIN燈亮。DTMF 輸入: DTMF 撥號檢測點。當有鍵按下時有雙音頻信號;無鍵按下時無信號。 19-2 4) 按鍵同時觀察發(fā)光二極管 L11-L14 與所按鍵值的關系(BCD 碼)。數碼管同步顯示電話撥號。 19-3 看是否滿足表 5-4 所述的對應關系。撥號完畢后,實驗界面上顯示被叫號碼。 四、心得體會 第一個實驗相對比較簡單,在了解儀器的基礎上很容易就能做出實驗結果。實驗過程相對來說比較簡單,在儀器充足的情況下并不難實現。這次的實驗讓我對交換技術這門課有了更多的了解,只是實驗課的時間相對別的學科而言比較少。 19-4 實驗二 本局及局間通話實驗 (實驗指導書中“實驗十、十二”) 一、實驗目的 1、了解局間信令 2、熟悉局間通話的接續(xù)過程。 3、掌握一次呼叫的整個過程。 4、熟悉全過程中的各種信號音及其波形。 二、實驗儀器 1、程控交換實驗箱 兩臺 2、電話單機 兩臺 3、程控交換實驗箱 一臺 4、電話單機 至少兩臺 5、20HMz 示波器 一臺 三、實驗內容與步驟 1、實驗準備:連接電話單機;檢查實驗箱與 PC的串口連線 1、打開實驗箱電源,電源指示燈亮,正常狀態(tài)下,CPU工作指燈間歇閃動,+5V、-5V、-48V 開關電源燈亮,25Hz 信燈閃亮,L11-L14 燈亮,串行通信指示燈亮,四路話機處待機狀態(tài)。之后啟動 PC 機,選擇進入實驗界面。 19-5 2、連接局間中繼線,局間通信指示燈亮。 3、出/入局呼叫控制實驗 1)甲方實驗箱用戶摘機后,聽到撥號音,先撥中繼碼“0”,再撥乙方實驗箱局號和被叫用戶號碼。 2)被叫摘機,雙方通話。 3)主、被叫掛機后互換身份,再撥號進行通話實驗。 實驗十二實驗內容 1、實驗準備:連接電話單機;檢查實驗箱與 PC的串口連線。 2、打開實驗箱電源,電源指示燈亮,正常狀態(tài)下,CPU工作指示燈間歇閃動,+5V、-5V、-48V 開關電源燈亮,25Hz 信號燈閃,L11-L14 燈亮,串行通信指示燈亮,四路話機處于待機狀態(tài)。之后啟動 PC 機,選擇進入實驗界面。 19-6 3、通話實驗。 1)主叫取機、撥號,被叫振鈴、取機。 2)雙方通話,在 PC 界面可同步觀測交換機通信狀態(tài) 3)結束通話,觀察界面上通信狀況變化。 4)選擇不同的被叫對象,重復本實驗。 19-7 4、外線通信實驗。 A、外線呼出實驗 1)連接外線,“外線使用” 指示燈亮。 2)主叫取機,聽到撥號音后先撥“9”,再撥被叫號碼。被叫取 機、通話。 B、外線呼入實驗 1)連接外線,“外線使用”指示燈亮。 2)外線撥打本實驗箱,用戶 1 振鈴。 3)用戶 1 取機通話。 4)主、被叫掛機。 5)用戶 1 取機。 6)外線再次撥打本實驗箱,用戶 2 振鈴。(若用戶 2 此時也非待機狀態(tài),則用戶 3 振鈴,以此類推。)7)用戶 2 取機通話 8)主、被叫掛機。 19-8 四、心得體會 這個實驗需要兩臺實驗儀器一起才能完成。實驗室的器材并不是很完善,在實驗的過程中也遇到實驗儀器損壞而不能實驗的現象。這兩個實驗要比第一個實驗相對難度大點。通過同學之間的相互合作,最終實驗結果也相繼出來了。這次的實驗讓我對交換技術這門課有了更多的了解,只是實驗課的時間相對別的學科而言比較少。 19-9 19-10 實驗三 交換機維護實驗 (實驗指導書中“實驗十四”) 一、實驗目的 1、了解程控交換機的配號工作過程。 2、了解程控交換機的升位工作過程。 3、了解程控交換機的改局號工作過程。 二、實驗儀器 1、程控交換實驗箱 兩臺 2、PC 機 一臺 三、實驗內容與步驟 1、實驗準備:連接電話單機;檢查實驗箱與 PC的串口連線。 2、打開實驗箱電源,電源指示燈亮,正常狀態(tài)下,CPU工作指示燈間歇閃動,+5V、-5V、-48V開關電源燈亮,25Hz信號燈閃亮,L11-L14 燈亮,串行通信指示燈亮,四路話機處于待機狀態(tài)。之后啟動 PC 機,選擇進入實驗界面。 3、程控交換機號碼修改實驗。 1)在實驗界面中,修改用戶號碼,并確認。 2)改號后的話機進行通話測試。實驗界面顯示主、被叫號碼。雙方通話,測試后掛機。 19-11 4、程控交換機升位實驗 1)在實驗界面中,為所有的用戶號碼進行升位。 2)用戶進行通話測試。實驗界面顯示升位后的主、被叫號碼雙方通話,測試后掛機。 5、程控交換機改局號實驗 1)在實驗界面中,修改局號,并確認。 2)用戶進行通話測試。主叫先撥“0”,再撥修改后的和被叫號碼。雙方通話,測試后掛 19-12 機。 四、心得體會 這個實驗同樣需要兩臺儀器一起完成,在了解儀器的基礎上做出實驗結果也并不是十分困難。實驗過程相對來說比較簡單,在儀器充足的情況下并不難實現。這次的實驗讓我對交換技術這門課有了更多的了解,只是實驗課的時間相對別的學科而言比較少 19-13 實驗四 程控交換新業(yè)務 (實驗指導書中“實驗十六”) 一、實驗目的 1、了解程控交換機的新業(yè)務。2、體驗新業(yè)務的使用。 二、實驗儀器 1、程控交換實驗箱 一臺 2、電話單機 三臺 三、實驗內容與步驟 1、實驗準備:連接電話單機;檢查實驗箱與 PC的串口連線。 2、打開實驗箱電源,電源指示燈亮,正常狀態(tài)下,CPU工作指示燈間歇閃動,+5V、-5V、-48V 開關電源燈亮,25Hz 信號燈閃亮,L11-L14燈亮,串行通信指示燈亮,四路話機處于待機狀態(tài)。之后啟動 PC 機,選擇進入實驗界面。 3、呼叫轉移實驗。 (1) 用戶取機,界面上顯示用戶號碼。 (2) 用戶設置服務。用戶按鍵“*” +“ 57” +“*”+目的話機號碼+“#”。(例如,設置撥打本機用戶的呼叫轉移至 12,則按鍵“*57*12#”)成功后,用戶聽到催掛音,界面上顯示呼叫轉移設置成功,用戶掛機。若不成功用戶則聽到空號音,界面顯 示設置失敗,可以重新設置。 19-14(3) 進行測試。取第三路話機撥打已設置轉移服務的話機。測試完畢后掛機。 (4) 取消呼叫轉移。已設置呼叫轉移的用戶按鍵“#57#”。界面顯示呼叫轉移取消成功,用戶掛機。 19-15 4、免打擾實驗。 (1) 用戶取機,界面上顯示用戶號碼。 (2) 用戶設置服務。用戶按鍵“*56#”。成功后,用戶聽到催掛音,界面上顯示免打擾服務設置成功,用戶掛機。若不成功用戶則聽到空號音,界面顯示設置失敗,可以重 新設置。 (3) 進行測試。另取一路話機撥打設置免打擾服務的話機,可以聽到忙音。測試完畢后掛機。 (4) 取消免打擾服務。已設置免打擾服務的用戶按鍵“#56#”。界面顯示免打擾服務取消成功,用戶掛機。 19-16 5、鬧鐘實驗。 (1) 用戶取機,界面上顯示用戶號碼。 (2) 用戶設置服務。用戶按鍵“*” +“ 55” +“*” +鬧鐘時間(24計時制)+“#”。成功后,用戶聽到催掛音,界面上顯示鬧鐘服務設置成功,用戶掛機。若不成功用戶則聽到空號音,界面顯示設置失敗,可以重新設置。 (3) 等待鬧鈴。預設時間到后話機振鈴,摘機則鬧鈴停。若此時話機處于摘機狀態(tài),則取消鬧鈴服務。 (4) 取消鬧鐘服務。已設置鬧鐘的用戶按鍵“#55#”。界面顯示鬧鐘擾服務取消成功,用戶掛機。 19-17 19-18 四、心得體會 這個實驗的難度也不是很大,在了解儀器的基礎上很容易就能做出實驗結果。實驗過程相對來說比較簡單,在儀器充足的情況下并不難實現。這次的實驗讓我對交換技術這門課有了更多的了解,只是實驗課的時間相對別的學科而言比較少。希望以后能有更多實驗課的時間,這樣能讓我們對所學的學科有更進一步的了解。 19-19第二篇:南郵自動控制原理實驗報告
第三篇:南郵信息綜合實驗報告-實驗三
第四篇:南郵通信技術實驗報告實驗一
第五篇:南郵交換技術實驗報告成品