第一篇:最優二叉樹的matlab實現
%v = [0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572 0.4854 0.8003];origv = rand(1,7);v=origv;
MAXVAL = 100;ov = zeros(size(v));numOL = length(v);
vv = zeros(1, numOL*2-1);tv = vv;vv(numOL:length(tv))= v;
for i=numOL-1:-1:1
[i1,i2] = findLeast2Val(v+ov);
vv(i)= v(i1)+v(i2);
ov(i1)= MAXVAL;
ov(i2)= MAXVAL;
tv(i1+i)=i;
tv(i2+i)=i;
v = [vv(i),v];
ov = [0,ov];drawtree(tv);pause end drawtree(tv);
function [ind1,ind2]=findLeast2Val(v)len=length(v);
if len==2
ind1=1;ind2=2;
return;end
MIN2=100;MIN1=99;ind1=1;ind2=1;for i=1:len
if v(i) if v(i) MIN1 = v(i);ind1=i; end end function drawtree(treeVec) treeplot2(treeVec); count = size(treeVec,2); [x,y] = treelayout(treeVec); x = x'; y = y'; name1 = cellstr(num2str((1:count)')); text(x(:,1), y(:,1), name1, 'VerticalAlignment','bottom','HorizontalAlignment','right') title({'Level Lines'},'FontSize',12,'FontName','Times New Roman');end function treeplot2(p,c,d)%TREEPLOT Plot picture of tree.% TREEPLOT(p)plots a picture of a tree given a row vector of % parent pointers, with p(i)== 0 for a root.% % TREEPLOT(P,nodeSpec,edgeSpec)allows optional parameters nodeSpec % and edgeSpec to set the node or edge color, marker, and linestyle.% Use '' to omit one or both.% % Example: % treeplot([2 4 2 0 6 4 6])% returns a complete binary tree.% % See also ETREE, TREELAYOUT, ETREEPLOT.% Copyright 1984-2009 The MathWorks, Inc.% $Revision: 5.12.4.3 $ $Date: 2009/04/21 03:26:23 $ [x,y,h]=treelayout(p);f = find(p~=0);pp = p(f);X = [x(f);x(pp);repmat(NaN,size(f))];Y = [y(f);y(pp);repmat(NaN,size(f))];X = X(:);Y = Y(:); if nargin == 1,n = length(p); if n < 500,plot(x, y, 'ro', X, Y, 'r-'); else plot(X, Y, 'r-'); end;else [~, clen] = size(c); if nargin < 3,if clen > 1,d = [c(1:clen-1)'-']; else d = 'r-'; end; end; [~, dlen] = size(d); if clen>0 && dlen>0 plot(x, y, c, X, Y, d); elseif clen>0,plot(x, y, c); elseif dlen>0,plot(X, Y, d); else end;end; % 顯示外部節點 k=find(y==min(y));hold on , plot(x(k),y(k),'bs');hold off xlabel(['height = ' int2str(h)]);axis([0 1 0 1]); 數字信號處理 說 明 書 目錄 一.摘要…………………………………3 二.課程設計目的………………………3 三.設計內容……………………………3 四.設計原理……………………………4 4.1.語音信號的采集…………………………….4 4.2.濾波器……………………………………….4 4.21.IIR濾波器原理…………………………………….4 4.22.FIR濾波器原理………………………………………5 五.設計步驟……………………………6 5.1錄制女音………………………………………6 5.2采樣語音信號并畫出時域波形和頻譜圖……7 5.3采用雙線性變換法設計IIR濾波器…………10 5.4窗函數法設計FFR濾波器………………......12 5.5用IIR濾波器對信號進行濾波………………14 5.6用FIR濾波器對信號進行濾波………………16 5.7男女聲語音信號頻譜特點分析………………19 5.8有背景噪聲的信號分析………………………20 六.心得體會…………………………….22 七.參考文獻…………………………….23 一.摘要: 這次課程設計的主要目的是綜合運用本課程的理論知識進行頻譜分析以及濾波器設計,通過理論推導得出相應結論,并利用MATLAB或者DSP開發系統作為工具進行實現,從而復習鞏固課堂所學的理論知識,提高對所學知識的綜合應用能力,并從實踐上初步實現對數字信號的處理。通過對聲音的采樣,將聲音采樣后的頻譜與濾波。 MATLAB全稱是Matrix Laboratory,是一種功能強大、效率高、交互性好的數值和可視化計算機高級語言,它將數值分析、矩陣運算、信號處理和圖形顯示有機地融合為一體,形成了一個極其方便、用戶界面友好的操作環境。經過多年的發展,已經發展成為一種功能全面的軟件,幾乎可以解決科學計算中所有問題。MATLAB軟件還提供了非常廣泛和靈活的用于處理數據集的數組運算功能。 在本次課程設計中,主要通過MATLAB來編程對語音信號處理與濾波,設計濾波器來處理數字信號并對其進行分析。 二.課程設計目的: 綜合運用本課程的理論知識進行頻譜分析以及濾波器設計,通過理論推導得出相應結論,并利用MATLAB作為工具進行實現,從而復習鞏固課堂所學的理論知識,提高對所學知識的綜合應用能力,并從實踐上初步實現對數字信號的處理。 三.設計內容: 內容:錄制一段個人自己的語音信號,并對錄制的信號進行采樣;畫出采樣后語音信號的時域波形和頻譜圖;給定濾波器的性能指標,采用窗函數 法和雙線性變換法設計濾波器,并畫出濾波器的頻率響應;然后用自己設計的濾波器對采集的信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;回放語音信號;換一個與你性別相異的人錄制同樣一段語音內容,分析兩段內容相同的語音信號頻譜之間有什么特點;再錄制一段同樣長時間的背景噪聲疊加到你的語音信號中,分析疊加前后信號頻譜的變化,設計一個合適的濾波器,能夠把該噪聲濾除。 四.設計原理: 4.1.語音信號的采集 熟悉并掌握MATLAB中有關聲音(wave)錄制、播放、存儲和讀取的函數,在MATLAB環境中,有關聲音的函數有: a:y=wavrecord(N,fs,Dtype);利用系統音頻輸入設備錄音,以fs為采樣頻率,默認值為11025,即以11025HZ進行采樣。Dtype為采樣數據的存儲格式,用字符串指定,可以是:‘double’、‘single’、’int16’、‘int8’其中只有int8是采用8位精度進行采樣,其它三種都是16位采樣結果轉換為指定的MATLAB數據; b:wavplay(y,fs);利用系統音頻輸出設備播放,以fs為播放頻率,播放語音信號y; c:wavwrite((y,fs,wavfile);創建音頻文件; d:y=wavread(file);讀取音頻文件; 關于聲音的函數還有sound();soundsc();等。4.2濾波器: 4.21.IIR濾波器原理 沖激響應不變法是使數字濾波器在時域上模擬濾波器,但是它們的缺點是產生頻率響應的混疊失真,這是由于從s平面到z平面是多值的映射關系所造成的。 雙線性變換法是使數字濾波器的頻率響應與模擬濾波器的頻率響應相似的一種變換方法。為了克服多值映射這一缺點,我們首先把整個s平面壓縮變換到某一中介的s1平面的一條橫帶里,再通過變換關系將此橫帶變換到整個z平面上去,這樣就使得s平面與z平面是一一對應的關系,消除了多值變換性,也 就消除了頻譜混疊現象。 雙線性法設計IIR數字濾波器的步驟: 1)將數字濾波器的頻率指標{ ?k}由Wk=(2/T)*tan(wk),轉換為模擬濾波器的頻率指標{?k}.2)由模擬濾波器的指標設計H(s).3)由H(s)轉換為H(z)21?z?1H(z)?H(s)s?T1?z?1 4.22.FIR濾波器原理 FIR濾波器與IIR濾波器特點不同,IIR濾波器的相位是非線性的,若需線性相位則要采用全通網絡進行相位校正。而有限長單位沖激響應(FIR)數字濾波器就可以做成具有嚴格的線性相位,同時又可以具有任意的幅度特性。 由于FIR系統的沖激響應就是其系統函數各次項的系數,所以設計FIR濾波器的方法之一可以從時域出發,截取有限長的一段沖激響應作為H(z)的系數,沖激響應長度N就是系統函數H(z)的階數。只要N足夠長,截取的方法合理,總能滿足頻域的要求。這種時域設計、頻域檢驗的方法一般要反復幾個回合,不像IIR DF設計靠解析公式一次計算成功。給出的理想濾波器頻率響應是,它是w的周期函數,周期 由傅立葉反變換導出,即 hd(n)?1Hd(ejw)ejwndw?2?,再將hd(n)與窗函數,因此可展開成傅氏級數w(n)相乘就可以得到h(n)。、的計算可采用傅氏變換的現成公式和程序,窗函數也是現成的。但整個設計過程不能一次完成,因為窗口類型和大小的選擇沒有解析公式可一次算,整個設計可用計算機編程來做。 窗函數的傅式變換W(ejω)的主瓣決定了H(ejω)過渡帶寬。W(ejω)的旁瓣大小和多少決定了H(ejω)在通帶和阻帶范圍內波動幅度,常用的幾種窗函數有: 矩形窗 w(n)=RN(n); Hanning窗 ; Hamming窗 ; Blackmen窗 ; Kaiser窗。 式中Io(x)為零階貝塞爾函數。 五.設計步驟: 5.1錄制女音: 利用MATLAB中的函數錄制聲音。function nvyin()fs=11025; %采樣頻率 str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);disp(' 開始錄音');str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);y=wavrecord(3*fs,fs,'double'); %錄制聲音3秒 str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);disp(' 錄音結束');str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);disp(' 播放錄音');str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];5 disp(str);wavplay(y,fs); %播放錄音 str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);disp(' 播放錄音結束');str=['@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'];disp(str);wavwrite(y,fs,'原女音'); %聲音的存儲 5.2采樣語音信號并畫出時域波形和頻譜圖 讀取語音信號,畫出其時域波形和頻譜圖,與截取后的語音信號的時域波形和頻譜圖比較,觀察其變化。程序如下: [x,fs,bits]=wavread('女音.wav'); %讀取聲音 N=length(x); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 figure(1);subplot(2,2,1); %把畫圖區域劃分為2行2列,指定第一個圖 plot(t, x); %畫出聲音采樣后的時域波形 title('原女音信號的時域波形'); %給圖形加注標簽說明 xlabel('時間/t');ylabel('振幅/A');grid; %添加網格 y=fft(x); %對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,2,3); %把畫圖區域劃分為2行2列,指定第三個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('FFT變換后聲音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid; %添加網格 subplot(2,2,4); %把畫圖區域劃分為2行2列,指定第四個圖 if y~=0 %判斷指數是否為0 plot(k,20*log10(abs(y(n)))); %畫信號頻譜的分貝圖 end xlabel('Hz');ylabel('振幅/分貝');title('FFT變換后聲音的頻譜特性');grid; %添加網格 %實際發出聲音落后錄制動作半拍的現象的解決 siz=wavread('女音.wav','size');x1=wavread('女音.wav',[3500 32076]); %截取語音信號 N=length(x1); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 figure(2);subplot(2,2,1); %把畫圖區域劃分為2行2列,指定第一個圖 plot(t,x1); %畫出聲音采樣后的時域波形 title('截取后女音信號的時域波形'); %給圖形加注標簽說明 xlabel('時間/t');ylabel('振幅/A');grid; %添加網格 y1=fft(x1); %對信號做N點FFT變換 subplot(2,2,3); %把畫圖區域劃分為2行2列,指定第三個圖 k=(n-1)*f0; %頻域采樣點 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('FFT變換后聲音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid; %添加網格 subplot(2,2,4); %把畫圖區域劃分為1行2列,指定第二個圖 if y1~=0 %判斷指數是否為0 plot(k,20*log10(abs(y1(n)))); %畫信號頻譜的分貝圖 end xlabel('Hz');ylabel('振幅/分貝');title('FFT變換后聲音的頻譜特性');grid; %添加網格 原女音信號的時域波形10.5A/幅0振-0.5-10123時間/tFFT變換后聲音的頻譜特性FFT變換后聲音的頻譜特性30050A200貝/值分/幅0幅100振00200040006000-***頻率/HzHz 截取后女音信號的時域波形10.5振幅/A0-0.5-10123FFT變換后聲音的頻譜特性50時間/tFFT變換后聲音的頻譜特性300200振幅/分貝幅值/A01000020004000頻率/Hz6000-5002000Hz40006000 結果分析: 由原女音信號的時域波形可知錄取開始時實際發出聲音大概落后3500個采樣點,我們把前3500點去除即可解決實際發出聲音落后錄制動作半拍的現象。由原女音的的頻譜圖和截取后聲音的頻譜圖可看出,對聲音的截取并不會影響它們頻譜分布。 5.3采用雙線性變換法設計IIR濾波器: 人的聲音頻率一般在(1~~4)kHZ之間,則我們只需要設計一個帶通濾波器即可濾去聲音頻帶以外的無用噪聲,得到比較清晰的聲音。根據聲音的頻譜圖分析,設計一個帶通濾波器性能指標如下: fp1=1000 Hz,fp2=3000 Hz,fsc1=500 Hz,fsc2=3500Hz,As=100dB,Ap=1dB,fs=10000 程序如下: %iir帶通的代碼: %w=2*pi*f/fs Ap=1; %通帶波紋系數 Az=100; %最小阻帶衰減 wp=[0.2 0.6]; %歸一化通帶數字截止頻率 wz=[0.1 0.7]; %歸一化阻帶數字截止頻率 [N,wn]=cheb1ord(wp,wz,Ap,Az); %估計契比雪夫I型濾波器階數 [b,a]=cheby1(N,Ap,wn); %N指定濾波器階數,wn歸一化 截 %止頻率,Ap通帶波動 [h,w]=freqz(b,a); %求數字濾波器的復頻率響應 figure(1);subplot(2,1,1);plot(w/pi,abs(h)); %繪制數字濾波器的頻譜圖 grid;xlabel('omega/pi');ylabel('振幅(幅值)');title('契比雪夫Ⅰ型帶通濾波器的幅頻響應');subplot(2,1,2);if abs(h)~=0 %判斷指數是否為0 plot(w/pi,20*log10(abs(h))); %繪制數字濾波器頻譜的分貝圖 end grid;xlabel('omega/pi');ylabel('振幅(分貝)');title('契比雪夫Ⅰ型帶通濾波器的幅頻響應');契比雪夫Ⅰ型帶通濾波器的幅頻響應1振幅(幅值)0.5000.10.20.50.60.70.8?/?契比雪夫Ⅰ型帶通濾波器的幅頻響應0.30.40.910振幅(分貝)-200-400-60000.10.20.30.40.5?/?0.60.70.80.91 5.4窗函數法設計FFR濾波器 線性相位FIR濾波器通常采用窗函數法設計。窗函數法設計FIR濾波器的基本思想是:根據給定的濾波器技術指標,選擇濾波器長度N和窗函數ω(n),使其具有最窄寬度的主瓣和最小的旁瓣。其核心是從給定的頻率特性,通過加窗確定有限長單位脈沖響應序列h(n)。工程中常用的窗函數共有6種,即矩形窗、巴特利特(Bartlett)窗、漢寧(Hanning)窗、漢明(Hamming)窗、布萊克曼(Blackman)窗和凱澤(Kaiser)窗。 這次設計我采用的是布萊克曼來設計給定數字帶通濾波器的參數如下: wp1=0.3pi, wp2=0.6pi, wz1=0.2pi, wz2=0.7pi, Ap=1dB, Az=70dB 程序如下: Ap=1; %通帶波紋系數 Az=100; %最小阻帶衰減 fs=10000; %采樣頻率 wp1=0.3*pi;wp2=0.6*pi;wz1=0.2*pi;wz2=0.7*pi;wc1=(wz1+wp1)/2;wc2=(wz2+wp2)/2;deltaW=min((wp1-wz1),(wz2-wp2)); %---取兩個過渡帶中的小者 N0=ceil(2*5.5*pi/deltaW); %---查表7-3(P342)布拉克曼窗 N=N0+mod(N0+1,2); %---確保N為奇數 hdWindow=ideallp(wc2,N)-ideallp(wc1,N);%理想帶通濾波器 wdWindow=blackman(N); %布拉克曼窗 hr=wdWindow.*hdWindow'; %點乘 n=0:N-1; %階數 subplot(2,2,1);stem(n,wdWindow); %繪制布拉克曼窗時域波形 xlabel('時間');ylabel('振幅');title('布拉克曼窗');[H,W]=freqz(hr,1); %求濾波器頻率響應 subplot(2,2,3);plot(W/pi,abs(H)) %繪制濾波器頻域波形 xlabel('omega/pi');ylabel('振幅');title('FIR帶通濾波器幅頻特性');subplot(2,2,4); if abs(H)~=0 %判斷指數是否為0 plot(W/pi,20*log10(abs(H))); %畫濾波器頻譜的分貝圖 end xlabel('omega/');ylabel('振幅/分貝');title('FIR帶通濾波器幅頻特性');grid; %添加網格 %---ideallp()函數(非系統自有函數)在系統安裝目錄的WORK子目錄ideallp.m function hd = ideallp(wc,N);% 理想低通濾波器的脈沖響應子程序 % hd = 點0 到 N-1之間的理想脈沖響應 % wc = 截止頻率(弧度)% N = 理想濾波器的長度 tao =(N-1)/2; % 理想脈沖響應的對稱中心位置 n = [0:(N-1)]; % 設定脈沖響應長度 m = n-tao + eps; % 加一個小數以避免零作除數 hd = sin(wc*m)./(pi*m); % 理想脈沖響應 布拉克曼窗1振幅0.500406080時間FIR帶通濾波器幅頻特性500振幅/分貝20FIR帶通濾波器幅頻特性1.51振幅-50-100-15000.5?/10.5000.5?/?1 5.5用IIR濾波器對信號進行濾波 用自己設計的IIR濾波器分別對采集的信號進行濾波,在Matlab中,IIR濾波器利用函數filter對信號進行濾波。程序如下: [x,fs,bits]=wavread('女音.wav');N=length(x); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 y=fft(x); %對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,1,1); %把畫圖區域劃分為2行1列,指定第一個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('濾波前女音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid; %iir帶通的代碼: Ap=1; %通帶波紋系數 Az=100; %最小阻帶衰減 wp=[0.2 0.6]; %歸一化通帶數字截止頻率 wz=[0.1 0.7]; %歸一化阻帶數字截止頻率 [N,wn]=cheb1ord(wp,wz,Ap,Az); %估計契比雪夫I型濾波器階數 [b,a]=cheby1(N,Ap,wn); %N指定濾波器階數,wn歸一化截止頻率,Ap通帶波動 x1=filter(b,a,x); %對聲音濾波 wavplay(x1)wavwrite(x1,'IIR濾波后女音.wav');N=length(x1); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 y=fft(x1); %對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,1,2); %把畫圖區域劃分為2行1列,指定第一個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('l濾波后女音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid; 濾波前女音的頻譜特性300幅值/A***030004000頻率/Hz濾波后女音的頻譜特性500060006040幅值/A***0頻率/Hz400050006000 結果分析: 由上面濾波前后的頻譜圖可看出,濾波器濾除了小于1000Hz和大于3400Hz的頻譜成分。回放語音信號,由于低頻和高頻成分被濾除,聲音變得較低沉。 5.6用FIR濾波器對信號進行濾波 用自己設計的FIR濾波器分別對采集的信號進行濾波,在Matlab中,FIR濾波器利用函數fftfilt對信號進行濾波 程序如下: [x,fs,bits]=wavread('女音.wav');N=length(x); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 y=fft(x); %對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,1,1); %把畫圖區域劃分為2行1列,指定第一個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('濾波前女音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/omega');ylabel('幅值/A');grid; %FIR帶通濾波器代碼 fs=10000;wp1=0.3*pi;wp2=0.6*pi;wz1=0.2*pi;wz2=0.7*pi;wc1=(wz1+wp1)/2;wc2=(wz2+wp2)/2;deltaW=min((wp1-wz1),(wz2-wp2)); %---取兩個過渡帶中的小者 N0=ceil(2*5.5*pi/deltaW); %---查表7-3(P342)布拉克曼窗 N=N0+mod(N0+1,2); %---確保N為奇數 hdWindow=ideallp(wc2,N)-ideallp(wc1,N);wdWindow=blackman(N);hr=wdWindow.*hdWindow';x1=fftfilt(hr,x); %對聲音濾波 wavplay(x1)wavwrite(x1,'FIR濾波后女音.wav');N=length(x1); %計數讀取信號的點數 t=(1:N)/fs; %信號的時域采樣點 f0=fs/N; %采樣間隔 n=1:N/2; %取信號的一半 y=fft(x1); %對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,1,2); %把畫圖區域劃分為2行1列,指定第一個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('l濾波后女音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid; 濾波前女音的頻譜特性300200幅值/A***004000頻率/?l濾波后女音的頻譜特性500060006040幅值/A20005001000***03000頻率/Hz***0 結果分析: 由上面濾波前后的頻譜圖可看出,濾波器濾除了小于1000Hz和大于3500Hz的頻譜成分。和用IIR濾波器濾波一樣,回放語音信號,由于低頻和高頻成分被濾除,聲音變得較低沉。5.7男女聲語音信號頻譜特點分析 換一個男音錄制同樣一段語音內容,分析兩段內容相同的語音信號頻譜之間有什么特點。程序如下: [x,fs,bits]=wavread('女音.wav'); %讀取聲音 N=length(x); %計數讀取信號的點數 t=(1:N)/fs; f0=fs/N; n=1:N/2; y=fft(x); k=(n-1)*f0; subplot(2,1,1); plot(k,abs(y(n))); title('FFT變換后女音的頻譜特性');xlabel('頻率/omega');ylabel('幅值/A');grid; [x,fs,bits]=wavread('明明.wav'); N=length(x); t=(1:N)/fs; f0=fs/N; n=1:N/2; y=fft(x); k=(n-1)*f0; subplot(2,1,2); plot(k,abs(y(n))); title('FFT變換后男音的頻譜特性');xlabel('頻率/omega');ylabel('幅值/A');grid; %信號的時域采樣點 %采樣間隔 %取信號的一半 %對信號做N點FFT變換 %頻域采樣點 %把畫圖區域劃分為2行1列,指定第一個圖%繪制原始語音信號的幅頻響應圖 %給圖形加注標簽說明 %添加網格 %讀取聲音 %計數讀取信號的點數 %信號的時域采樣點 %采樣間隔 %取信號的一半 %對信號做N點FFT變換 %頻域采樣點 %把畫圖區域劃分為2行1列,指定第二個圖%繪制原始語音信號的幅頻響應圖 %給圖形加注標簽說明 %添加網格 axis([0 6000 0 300]); %改變橫縱坐標便于比較頻譜圖 FFT變換后女音的頻譜特性300200幅值/A***00頻率/?FFT變換后男音的頻譜特性***200幅值/A***00頻率/?400050006000 結果分析: 通過比較上面女音頻譜圖和男音頻譜圖可知,男音的頻譜集中在低頻部分,高頻成分底,譜線較平滑,聲音聽起來低沉。5.8有背景噪聲的信號分析 從硬盤中把一段噪聲(頻譜能量集中在某個小范圍內)疊加到語音信號中,分析疊加前后信號頻譜的變化,設計一個合適的濾波器,能夠把該噪聲濾除; 程序如下: z=wavread('女音.wav',[1 24000]); %讀取聲音在1-24000之間 f=wavread('noise.wav',[1 24000]);x=z+f;wavplay(x);fs=11025;N=length(x);f0=fs/N; %采樣間隔 n=1:N; %取信號的一半 y=fft(x,N);%對信號做N點FFT變換 k=(n-1)*f0; %頻域采樣點 subplot(2,1,1); %把畫圖區域劃分為1行2列,指定第二個圖 plot(k,abs(y(n))); %繪制原始語音信號的幅頻響應圖 title('加噪聲后聲音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid;%添加網格 %iir帶通濾波器的代碼: Ap=1; %通帶波紋系數 Az=70; %最小阻帶衰減 wp=[0.2 0.7]; %歸一化通帶數字截止頻率 wz=[0.1 0.8]; %歸一化阻帶數字截止頻率 [N,wn]=cheb1ord(wp,wz,Ap,Az); %估計契比雪夫I型濾波器階數 [b,a]=cheby1(N,Ap,wn); %N指定濾波器階數,wn歸一化截止頻率,Ap通帶波動 x1=filter(b,a,x); %對聲音濾波 wavplay(x1); wavwrite(x1,'濾除噪音后女音.wav');N=length(x1);f0=fs/N; %采樣間隔 n=1:N; %取信號的一半 y1=fft(x1,N); %對信號做fs點FFT變換 subplot(2,1,2); %把畫圖區域劃分為1行2列,指定第二個圖 k=(n-1)*f0; %頻域采樣點 plot(k,abs(y1(n))); %繪制原始語音信號的幅頻響應圖 title('濾除噪聲后聲音的頻譜特性'); %給圖形加注標簽說明 xlabel('頻率/Hz');ylabel('幅值/A');grid;%添加網格 加噪聲后聲音的頻譜特性3000幅值/A***0008000頻率/Hz濾除噪聲后聲音的頻譜特性***030幅值/A***000頻率/Hz80001000012000 結果分析 觀察加噪聲后聲音的頻譜圖可知,噪音頻率主要在4000Hz處,只要我們設計一個,濾波器濾除大概在4000Hz的頻譜即可,回放濾波后的語音信號,可證噪音基本濾除。 六.心得體會: 通過這次課程設計,讓我對MATLAB的基本應用有了更深的了解,還有數字信號處理在MATLAB中的一些函數的用法。通過理論推導得出相應結論,并利用MATLAB作為工具進行實現,從而復習鞏固課堂所學的理論知識,提高對所學知識的綜合應用能力,并從實踐上初步實現對數字信號的處理。 在這次實驗中,也遇到了很多問題,比如畫信號頻譜的分貝圖時(20*log10(abs(y)))指數為零時的處理。濾波器的設計也花了好大的功夫,剛開始不會設計參數,一頭霧水,通過同學的指導和討論,得知通過觀察信號的頻譜圖,看噪音頻率集中在那一部分,設計濾波器把其濾除即可。可反復設置參數直到濾波后語音信號的效果好為止。 七.參考文獻: (1)《MATLAB LabVIEW SystemView》翁劍楓 葉志前 編著, 機械工業出版社; (2)《MATLAB及在電子信息課程中的應用》陳懷琛 吳大正 高西全編著,電子工業出版社; (3)《MATLAB在數字信號處理中的應用》(弟2版)薛年喜 編著,清華大學出版社; (4)《MATLAB擴展編程》何強 何英 編著,清華大學出版社;(5)《MATLAB7簡明教程》吳清 曹輝林 編著,清華大學出版社;(6)MATLAB5.3精要.編程及高級應用》程衛國 馮峰 王雪梅 劉藝 編著,機械工程出版社。 : 為實現員工最優業績為目的,特制定本管理辦法及規定: 一、薪資辦法 (一)薪資構成薪資總額=基本工資+崗位工資+績效工資+駐外補貼+通訊補貼+獎金(提成)+工齡工資 崗位 基本工資(元)崗位工資(元)績效工資基數(元)駐外補貼(元/天)通訊補貼(元/月) 1、基本工資、崗位工資按實際出勤天數發放; 2、績效工資=回款完成率×績效工資基數×60%+銷售完成率×績效工資基數×30%+銷售考核分數×(績效工資基數÷10) (1)回款完成率=當月實際回款÷回款任務(最高按100%計算) (2)銷售完成率=當月實際銷售額÷銷售任務(最高按100%計算) (3)連續3個月未完成基本銷售任務,績效工資基數下降30%,連續3個月未完成基本銷售任務80%,調離銷售崗位或予以辭退; 3、銷售考核分數具體評分標準如下: A.當月回款排名獎0至3分,當月銷售回款額排名與上月銷售回款額排名,名次每前進一名,則加1分,加滿3分為止。如名次后退或沒改變則不得分; B.客戶管理3分,新增有回款客戶1家,加1分,丟減客戶1家減1分; C.報表考核4分,每少一份(或信息不合格),按要求所交報表總數扣減相應分數。 D.工作態度、紀律情況考評-3分至3分。 4、駐外補貼指到四川省內成都以外的地、州開展工作,每月按實際駐外工作天數發放的補貼,本地招聘人員無補貼。 駐四川省外地區的補貼每天增加10元。 駐外工作在同一住地時間超過15天以上的,補助標準每天減少5元。 5、獎金(提成)按每月銷售回款按品種類別計算提取。 產品類別 獎金(提成)當月發放50%,另30%于每一季度的次月8日發放,其余20%年終發放。 業務主管、區域經理或大區經理單獨所做無業務代表的市場,按業務代表標準提取,提成比例不進行累計。 如有新產品上市,另行通知按何類產品提取獎金。 6、工作年限滿一年以上的,工齡工資每月按----元/每年計算。 (二)新聘人員 新聘人員有一周左右的培訓期,基本待------元/天,無考核。 新聘人員試用期1-3個月,業務代表基本工資和績效工資基數按70%計算,第一個月無銷量和回款考核,第二、三個月按任務50%考核,完成任務80%以上即可轉為正式員工。 新聘業務代表以上崗位人員,試用期按下一級別崗位薪資標準和考核,轉正后按相應級別發放薪資并考核,連續兩個月考核不合格,降為下一級;業務代表連續三個月考核不合格,解除勞動關系(完成任務80%以下即為考核不合格)。 二、費用報銷規定 (一)營銷人員費用 營銷人員費用總體按銷售回款額的8%控制。 1、營銷人員薪資 營銷人員經過考核后,每月薪資于次月8日發放。 2、出差管理及差旅費用報銷(含駐外補貼) 跨地區出差,應先報出差計劃(時間、路線、內容、交通工具等)經批準后實施,可報銷火車硬座、輪船三等艙以內、長途汽車票,憑原始票據及記錄詳細行程的計劃表在出差后一周之內報銷(駐外人員可一月報銷一次或郵寄回總部報銷)。 駐外包干補助(含住宿費、市內交通費、生活補貼等)根據票據時間計算出差天數,往、返日只計算一天,50公里以上,當天往返,其補助按半天計算。大區經理及以下級別人員補助在每月薪資中一并發放。 不是為本企業服務所產生的差旅費不予報銷,非駐外市場工作無補助。 3、應酬費 應酬費用按上月銷售回款總額的0.5%限額控制。每一次客戶招待時應填報《宴客單》報銷售經理按限額審批,并報總經理。應酬費用可在一年內的每月的限額間進行調節,年終時超出總額部份不予報銷。開支費用在總額內如有節約,節約部份的50%作為銷售經理和其他銷售管理人員的獎勵,比例分配為1:1。 客戶宴請應根據實際情況,分別按招待標準接待,并應達到良好效果,如出現客戶反映因我企業人員原因造成的不滿或未達到預期效果的,每次對宴請申請人罰款50元。 4、銷售日常費用 營銷總部購買各種辦公用品實行申報制,由總經理批準后購買使用。市場人員的工作筆記本、筆、各類報表等由營銷總部按相關規定配給,不再報銷此項費用。 市場人員報銷的打字、復印、傳真等費用每月限額50元,并應附清單寫明每次費用發生的時間、具體內容、數量等,否則不予銷。 由營銷總部承諾負擔而由經銷商代墊的如運雜費等費用,在合同或文件規定金額內可予報銷。由營銷人員私自承諾的費用不予報銷。 5、會議、培訓費 營銷總部不定期召集營銷人員會議進行培訓、傳達文件、研究工作。每一次培訓、業務會議由營銷總部通知時間及內容,在會議期間的食宿等費用由總部統一安排,原則上按每人每天50元的標準(總額控制在銷售回款的0.3%內),在規定時間外和超標費用由相關人員自行承擔。 回總部的火車硬座、輪船三等艙以內、長途汽車票憑票據實報銷。 5、業務提成每月25日由營銷人員填制《銷售提成報銷表》,營銷總部審核無誤后按規定發放。 (二)宣傳促銷費 宣傳促銷費按銷售額8%以內開支,由營銷總部根據市場情況安排或由經銷商、營銷人員申請。由營銷人員申請的費用,必須附總部批準執行的報告。可采取實物、買贈、現金獎勵等各種方式。 (三)市場營銷人員借款規定 市場業務人員經批準每人可以借支1000元,離職時或年底報完費用結清借支。若造成損失的,誰批準(包括無批準而私自借出的當事人),誰負責。特殊情況下,總部人員出差借支,需經總經理批準后方能借款,并于出差結束后及時報銷沖賬。 (四)處罰規定 各項報銷憑證,必須手續完備、內容真實、數字準確、項目清楚、粘貼整齊,不得弄虛作假;原始依據必須充分、有效,填寫完整、不得挖補涂改。如發現弄虛作假作假者,除作假部份不予報銷外,并處以相應金額2倍的罰款,發現兩次以上者,直接辭退。 《數據結構》 第六次實驗報告 學生姓名 學生班級 學生學號 指導老師 重慶郵電大學計算機學院 計算機專業實驗中心 一、實驗內容 1)采用二叉樹鏈表作為存儲結構,完成二叉樹的建立,先序、中序和后序以及按層次遍歷的操作,求所有葉子及結點總數的操作。2)輸出樹的深度,最大元,最小元。 二、需求分析 遍歷二叉樹首先有三種方法,即先序遍歷,中序遍歷和后序遍歷。遞歸方法比較簡單,首先獲得結點指針如果指針不為空,且有左子,從左子遞歸到下一層,如果沒有左子,從右子遞歸到下一層,如果指針為空,則結束一層遞歸調用。直到遞歸全部結束。下面重點來講述非遞歸方法: 首先介紹先序遍歷: 先序遍歷的順序是根 左 右,也就是說先訪問根結點然后訪問其左子再然后訪問其右子。具體算法實現如下:如果結點的指針不為空,結點指針入棧,輸出相應結點的數據,同時指針指向其左子,如果結點的指針為空,表示左子樹訪問結束,棧頂結點指針出棧,指針指向其右子,對其右子樹進行訪問,如此循環,直至結點指針和棧均為空時,遍歷結束。 再次介紹中序遍歷: 中序遍歷的順序是左 根 右,中序遍歷和先序遍歷思想差不多,只是打印順序稍有變化。具體實現算法如下:如果結點指針不為空,結點入棧,指針指向其左子,如果指針為空,表示左子樹訪問完成,則棧頂結點指針出棧,并輸出相應結點的數據,同時指針指向其右子,對其右子樹進行訪問。如此循環直至結點指針和棧均為空,遍歷結束。最后介紹后序遍歷: 后序遍歷的順序是左 右 根,后序遍歷是比較難的一種,首先需要建立兩個棧,一個用來存放結點的指針,另一個存放標志位,也是首先訪問根結點,如果結點的指針不為空,根結點入棧,與之對應的標志位也隨之入標志位棧,并賦值0,表示該結點的右子還沒有訪問,指針指向該結點的左子,如果結點指針為空,表示左子訪問完成,父結點出棧,與之對應的標志位也隨之出棧,如果相應的標志位值為0,表示右子樹還沒有訪問,指針指向其右子,父結點再次入棧,與之對應的標志位也入棧,但要給標志位賦值為1,表示右子訪問過。如果相應的標志位值為1,表示右子樹已經訪問完成,此時要輸出相應結點的數據,同時將結點指針賦值為空,如此循環直至結點指針和棧均為空,遍歷結束。 三、詳細設計 源代碼: #include typedef struct Tnode //定義結點 { char data;//存儲結點數據 struct Tnode *left;//定義結點左子指針 struct Tnode *right;//定義右子指針 }Tnode,*Pnode;//聲明Tnode類型的變量和指針 typedef struct Stack//定義棧 { Pnode pnode[MAX];//存放數據 int p;//棧頂指針 }Stack,*Pstack;//定義Stack類型的變量和指針 void Push(Pstack pstack,Pnode pnode)//入棧 { } Pnode Pop(Pstack pstack)//出棧 { } Pnode Top(Pstack pstack)//看棧頂元素 { } int Isempty(Pstack pstack)//棧判空 { } int Isfull(Pstack pstack)//棧滿 { } void Initstack(Pstack pstack)//初始化棧 if(pstack->p==FULL)else return 0;return 1;if(pstack->p==EMPTY)else return 0;;return 1;return pstack->pnode[pstack->p];return pstack->pnode[pstack->p--];pstack->p ++;pstack->pnode[pstack->p] = pnode;//賦值 { } void Inittnode(Pnode root,Pnode left,Pnode right,char data)//初始化結點 { } void PreorderR(Pnode proot)//遞歸先序遍歷算法 { } void InorderR(Pnode proot)//遞歸中序遍歷算法 { } void PostorderR(Pnode proot)//遞歸后序遍歷算法 { } void PreorderI(Pnode proot,Pstack pstack)//非遞歸先序遍歷算法 { Initstack(pstack);//初始化棧 while(proot||!Isempty(pstack))//如果棧空并且結點指針空,則結束循環 { if(proot){ printf(“%2c”,proot->data);if(proot){ } PostorderR(proot->left);PostorderR(proot->right);printf(“%2c”,proot->data);if(proot){ } InorderR(proot->left);printf(“%2c”,proot->data);InorderR(proot->right);if(proot){ } printf(“%2c”,proot->data);PreorderR(proot->left);PreorderR(proot->right);root->left=left;root->right = right;root->data = data;pstack->p=EMPTY; } } } else { } if(Isfull(pstack))//如果棧滿不能執行入棧操作 { } Push(pstack,proot);//入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執行入棧操作!”);return;if(Isempty(pstack))//棧空時不能出棧 { } proot = Pop(pstack);//執行出棧操作 proot=proot->right;//指針指向右子 printf(“棧空,不能執行出棧操作!”);return;void InorderI(Pnode proot,Pstack pstack)//非遞歸中序遍歷算法 { Initstack(pstack);//初始化棧 while(proot||!Isempty(pstack))//循環結束條件 { if(proot){ } else { if(Isempty(pstack)){ } proot = Pop(pstack);//出棧 printf(“%2c”,proot->data);//打印數據 printf(“棧空,不能執行出棧操作!”);return;if(Isfull(pstack)){ } Push(pstack,proot);//執行入棧操作 proot = proot->left;//指針指向左子 printf(“棧滿,不能執行入棧操作!”);return; } } } proot=proot->right;//指針指向右子 void PostorderI(Pnode proot,Pstack pstack)//非遞歸后續遍歷算法 { } void main(){ int flags[MAX];//定義標志位棧 int p =-1;//初始化標志位棧 int flag;//存放標志位 Initstack(pstack);//初始化棧 while(proot||!Isempty(pstack))//循環結束條件 { } if(proot){ } else { } proot = Pop(pstack);//指針出棧 flag = flags[p--];//相應標志位出棧 if(flag==0)//如果標志位為0表示右子還未訪問過 { } else { } printf(“%2c”,proot->data);//打印數據 proot = NULL;//將結點指針置空 flag =1;//將標志位置1,右子已訪問 flags[++p] = flag;//標志位入棧 Push(pstack,proot);//結點入棧 if(Isfull(pstack)){ } flags[++p] = 0;//標志位置0,并入棧 Push(pstack,proot);//結點入棧 proot=proot->left;//指針指向左子 printf(“棧滿,不能執行入棧操作!”);return; proot = proot->right;//指針指向右子 Tnode A,B,C,D,E,F,G;//聲明結點變量 Stack stack;//聲明棧 Inittnode(&A,&B,&C,'A');//初始化結點 Inittnode(&B,NULL,&D,'B');Inittnode(&C,&E,&F,'C');Inittnode(&D,NULL,NULL,'D');Inittnode(&E,NULL,NULL,'E');Inittnode(&F,&G,NULL,'F');Inittnode(&G,NULL,NULL,'G');printf(“你定義的樹的結構是:n”);printf(“A(B(D)C(E F(G)))n”);printf(“=====================下面是遍歷結果====================n”);printf(“=====================遞歸先序遍歷:====================n”);PreorderR(&A);printf(“n”);printf(“=====================非遞歸先序遍歷:==================n”);PreorderI(&A,&stack);printf(“n”);printf(“=====================遞歸中序遍歷:====================n”);InorderR(&A);printf(“n”);printf(“=====================非遞歸中序遍歷:==================n”);InorderI(&A,&stack);printf(“n”);PostorderR(&A);printf(“n”);PostorderI(&A,&stack); printf(“n”); /*一下是調用相應的函數輸出遍歷結果*/ } printf(“=====================遞歸后序遍歷:====================n”); printf(“=====================非遞歸后序遍歷:==================n”); 五、遇到的問題及解決辦法 這部分我主要遇到如下兩個問題,其內容和解決方法如下所列: 執行程序時程序停止運行,其效果如圖: 解決方法:看到程序停止運行,推測可能的原因:遇到死循環、參數設置不合理或者結構體沒有造好。首先對結構體進行了檢查,各個成員聲明正常無誤,在對程序進行調試,程序正常跳出循環,因此最可能是自定義函數的參數設置的不合理,因此對調用的自定義函數進行相應的改動,將參數由具體類型改為指針類型后,程序正常運行。 程序不停的輸出同一個結點的數據,其效果入圖: 解決方法:分析運行結果可知,第一不停的輸出證明遇到了死循環,第二輸出的是同一個結點的數據,表示指針沒有按預期進行指向,首先對程序進行調試,發現程序沒有添加循環結束條件,添加循環結束條件后,只能輸出樹的部分結點的數據,對標志位進行修改后,程序運行正常,也能正確輸出遍歷結果。 六、心得體會 通過這次作業真的受益匪淺,感觸良多: 首先,要提高編程能力,必須多動手,多實踐,而不是僅僅局限在書本上,更不能眼高手低。眼高手低,懶得動手,這就犯了編程人員的大忌。大一我們開始接觸C語言,這是我們接觸到的第一種編程語言,但是當時徒有對編程的興趣,卻沒有付諸行動,動手少,結果考試險過,通過這次作業,我再次看了C語言課本,邊看邊寫代碼,理解快,印象深刻,思維也活躍許多,狀態也好,真正的意識到,編程能力需要靠實踐來提升。當自己寫出意想的程序后,真的有些成就感。再者,在吳老師的指導和要求下,我們改掉了很多的編程壞習慣的同時也養成了良好的編程習慣,另一方面我們態度端正了很多,認真完成好每一項任務,這樣無形中提高了對自己的要求,同時也增強了我們的動手能力和編程能力。 七、附錄 運行結果截圖。 《太陽》是一年級北師大版課改實驗教材。這首兒歌,通過日出景象的描寫,讓學生感受太陽的美,從而喜歡太陽,激發學生熱愛大自然的思想感情。并隨文學習12個生字,學寫6個字。由于學生認字的程度存在差異,有的學生通過課外自學,己掌握了本課的生字。針對這一情況,在識字教學中,我采用了分層教學,邀請數學老師和我一起走進課堂,數學老師負責輔導己掌握該課生字的學生,給予拓展、提高。并在新授后對該課未完全掌握的學生及時補缺漏。我則進行正常的識字教學。嘗試這樣的課堂教學,我覺得可以真正做到以育人為本,因材施教,實現學生最優發展。 二、課堂教學節錄 借助課件讓學生感受太陽的美,從而學習課文,指導有感情地朗讀課文。接著,進入識字教學。課件點擊出示這課要學的12個生字。 分a、b組進行教學。a組在教室的一角自由圍坐,和數學老師學習;b組小小組t字形坐式新授。 師:昨天,我測過我們班幾個小朋友,有六個小朋友已經自己學會了這12個生字。現在,請這幾位小朋友(a組)到后面去和龔老師一起學習。其他的小朋友和我一起來學習這12個字。(課件演示)我們看誰最先和這些可愛的字娃娃交上朋友。 看一看,你認識幾號字娃娃,你就可以當小老師教大家。或是你喜歡認識哪個字娃娃,就提出來。 生:我認識6號字娃娃,這個字讀“出”,出來的“出”。(生字是注音的)師:真不錯,大家跟她一起讀。你還能教小朋友認識哪個字娃娃呢? 生:我還認識3號字娃娃“從”,1號字娃娃“叫”(生跟讀) 師:大家跟她學得很認真。這個小老師當得真好,獎你一個“小太陽”貼紙。**同學,你想認識兒號字娃娃? 生:我想認識5號字娃娃。師:有哪位小朋友會嗎? 生:我知道這個字是“跳”,跳舞的“跳”。師:“同學你懂了嗎?謝謝生1小朋友。” (其余幾個字方法同上,主要體現生生互動。)師:這些字娃娃小朋友都認識了嗎?拿出你們桌上的生字卡片,在小組里互相考一考。這些字都認識,還能讀準字音的小朋友,其他小朋友就可以把桌上的“小太陽”貼紙送給他。如果他有的字還不認識,你們就幫幫他。(生字卡上都有注音)師:看來小朋友學得不錯,很多小朋友都得到了“小太陽”。你們真棒呀,下面我要再次考考大家,看誰認得最快,讀得最準。(開火車認讀字卡,生字不注音)在本組學生基本掌握生字后,a組的學生回到課堂中來。一起課間律動操《種太陽》。做“搬房子”游戲擴詞、練習說話。由a組的同學當“小測試員”測試b組的同學12個生字掌握情況。再次分組學習,未完全掌握的同學找龔老師再次學習;其余的同學一起討論:學了這課,你喜歡太陽公公嗎?為什么?小組交流:課前收集的有關太陽的資料。 (有影音資料、有圖片資料、有網上查找的資料、有書籍資料等)龔老師和a組:(手提電腦演示課件) 1、做各種游戲進行12個生字擴詞、說話等多種形式的提高性練習。 2、做游戲“射氣球”學習本課未要求認識的其余生字。 3、互相交流自己新認識的字。龔老師和測試后c組的同學: 課件演示,再次和未認識的字娃娃交上朋友。 三、簡析: 1、充分體現語文教育的人文性、民主性 學生是學習和發展的主體。語文課必須根據學生身心發展和語文學習的特點,關注學生的個體差異和不同的學習要求,愛護學生的好奇心、求知欲,充分激發學生的主動意識和進取精神。北師大版的這冊教材非常注重讓學生多認字。在識字教學中,我發現學生認字的程度不一,有的學生通過課外自學己掌握了本課的生字,如果讓這些學生也和其他學生一起重新識字的話,勢必挫傷他們學習的積極性,甚至可以說是浪費他們的學習時間。因此,我認為教師必須關注到學生的這種差異和他們的不同學習要求,在教學中,我讓這部分的學生進行提高、拓展學習,使他們更上一層樓。而那些無法按時完成學習任務的學生,則在課堂給他們更多的時間再學習,及時補上。總之,力求充分體現以育人為本、因材施教的教學理念。 2、分層教學實現學生最優發展 進行課程改革,可以通過創設現代的教育環境,改變教學的形式,使得學生與學生之間、教師與學生之間、教師與教師之間有充分的互動。分層教學正是為之提供了大舞臺。《太陽》這課,我們打破了學科體系,語、數老師一同走進課堂。語文老師當主角、數學老師當配角。當進入學習生字這一教學環節時,開始分層教學,數學老師在教室的一角和課前已自學本課所學生字的上等學生(a組)一起學習,利用電腦課件給以提高補充知識。語文老師則負責占大多數的學生(b組)新授生字的教學。當b組學生通過小老師教、小組合作互幫互學完成了本課的學習任務以后,讓這幾名上等生做小測試員當場測試認字情況。之后,未完全掌握生字的學生即刻再和數學老師學習,爭取圓滿完成學習任務。語文老師則讓已完成學習任務的學生拓展學習,小組交流自己課前收集的有關太陽的資料。這樣的分層次教學,能最大限度滿足不同程度的學生的學習要求,讓每個孩子都能“吃飽”。在識字教學中我們還把a、b、c、d四種層度的學生在組合在一個小組里,合作學習之前提出四種不同的要求,對每組4號同學的要求最低,而對1號同學的要求最高。在小組交流、全班交流時,不同層度的同學均有表現的機會,也均能學到其他同學的長處。 應該說我們“小班化教育”為分層教學創造了很有利的條件。但實踐證明,分層教學有利于學生在感興趣的自主活動中全面提高語文素養,培養學生主動探究、團結合作、勇于創新精神,使教師更好地了解學生,讓學生在積極互動中掌握知識,發展個性,實現學生最優發展。第二篇:MATLAB實現數字信號處理
第三篇:為實現員工最優業績為目的
第四篇:數據結構實驗報告-二叉樹的實現與遍歷
第五篇:分層教學實現學生最優發展-教學教案