• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的“數(shù)字信號處理”課程教學改革

      2018-04-15 04:45:39黃曉輝唐慧豐余文濤
      電氣電子教學學報 2018年1期
      關鍵詞:數(shù)字信號處理信號處理課程設計

      黃曉輝, 唐慧豐, 余文濤, 王 博

      (解放軍外國語學院, 河南 洛陽 471003)

      0 引言

      “數(shù)字信號處理”是電子信息與計算機專業(yè)的一門重要專業(yè)基礎課,該課程理論性強,概念抽象,數(shù)學公式繁多,公式推導復雜,其內(nèi)容較難理解與掌握[1],因此在教授該課程時,除了課堂講授、公式推導和理論作業(yè)之外,必要的動態(tài)演示、實驗驗證是幫助學生理解、掌握知識的有效方法[2]。當前,有條件的高校通常會使用Matlab作為輔助工具,通過增加課堂演示、課程實驗以及課程設計來輔助教學,這樣既豐富了課程教學內(nèi)容,同時又增加了教學方法的靈活性與交互性,因而取得了不錯的教學效果[3,4,5]。

      作為集數(shù)值分析、矩陣運算、信號處理和圖形展示于一體的科學計算平臺,Matlab具有豐富的科學計算工具包,可以方便地實現(xiàn)數(shù)字信號處理的理論驗證和系統(tǒng)設計仿真,使學生從繁重的手工數(shù)學運算中解脫出來,將學習重點轉向對課程基本概念、原理的理解與運用上[6]。然而在實際教學實踐中發(fā)現(xiàn),使用Matlab作為輔助教學工具存在較多的現(xiàn)實問題,主要有以下幾點:①Matlab是一款付費軟件,其授權費用相當昂貴,對于一般學生來說較難承受,即便對于獲得授權的高校來講,由于Matlab體量具大,建立一個供多人實驗用的Matlab環(huán)境需要很大的硬件和軟件投入,對學生自帶電腦的性能要求也較苛刻。雖有很多高校和學生選擇使用公開的簡化免費版本,但其功能、性能都與正版不可同日而語,總體來講Matlab的使用成本較高;②盡管Matlab支持腳本以及面向過程和面向對象的編程,但在代碼風格、數(shù)據(jù)定義、語法規(guī)則等方面都與C/C++有顯著的差別。即便學生已學習過C/C++語言,但在使用Matlab時仍要耗費相當多的精力去重新學習,因此普遍感覺入門較難;③Matlab提供的大部分函數(shù)庫不開源,學生在使用過程中只能單純的調用,而無法獲知其內(nèi)部實現(xiàn),因此在幫助學生深入理解與應用所學知識上也并沒有起到預期的作用;④Matlab的設計初衷是為了方便科學計算問題的建模,這與“數(shù)字信號處理”課程內(nèi)容強調的基礎性、應用性并不匹配。同時在現(xiàn)實中,Matlab也主要面向高層次的科研人員,而在工業(yè)界的應用領域相對較窄,這對于大多數(shù)以滿足現(xiàn)實應用、適應工作需求為學習目標的本科學生來講沒有足夠的吸引力,學生只把其當作是一種臨時的工具,在課程結束后就無用武之地,導致學生學習Matlab的積極性不高,同樣影響到該課程的教學質量。

      以上都是教學過程中實際存在的問題,已經(jīng)成為進一步提升“數(shù)字信號處理”課程教學質量亟待解決的問題。近年來,隨著Python語言的快速發(fā)展與壯大,使用Python取代Matlab、建立基于Python的“數(shù)字信號處理”課程教學體系成為解決以上問題的可行方案。

      1 引入Python的優(yōu)點

      Python是一種解釋型高級程序設計語言,支持腳本以及面向過程和面向對象的編程,并且具有代碼簡潔、語法簡單、可擴展性好的特點[7]。Python多樣化的編程方式使之具有與Matlab同樣出色的交互性和靈活性,同時比具有Matlab更純粹的面向對象特性。作為一種通用編程語言,Python程序可以不加修改地在Linux、Windows、Mac、Palm等多種系統(tǒng)平臺上運行,其源代碼可輕易的嵌入到C/C++程序之中,而C/C++程序也可作為第三方庫供Python程序直接調用,而這些功能是Matlab難以實現(xiàn)的。Python的科學計算生態(tài)比Matlab要豐富得多,語言也更加簡潔,入門更容易。對于數(shù)字信號處理來講,Python的第三方庫numpy可提供高效的數(shù)據(jù)組織、處理功能;scipy可提供多種數(shù)值計算功能,包括頻譜分析、濾波器設計等典型的數(shù)字信號處理方法;matplotlib可提供豐富多樣的圖形繪制功能,構建優(yōu)美的圖形交互界面。針對現(xiàn)實應用中普遍存在的語音、圖像等數(shù)字信號,Python標準庫中的wave以及pyaudio可以完成.wav格式音頻文件的處理,還有更多的第三方函數(shù)庫可以實現(xiàn)各種變換域分析與處理;而圖像處理庫PIL可以處理常見格式的數(shù)字圖像數(shù)據(jù),再利用numpy、scipy以及matplotlib就可以完成對真實數(shù)字信號的譜分析、濾波以及圖形展示。與Matlab數(shù)GB的軟件體積相比,這些第三方函數(shù)庫加上Python標準庫的總體量還不到200MB。因此,將Python引入“數(shù)字信號處理”的教學,并基于Python設計系統(tǒng)的教學改革方案有以下優(yōu)點:①減輕高校以及個人對實驗環(huán)境的投入成本;②編程的簡潔性以及開放的項目社區(qū)為初學者提供了較低的學習門檻和豐富的學習資源;③開源的第三方函數(shù)倉庫為學生深入研究課程內(nèi)容并應用所學知識解決實際問題提供了有力支撐;④廣闊的應用前景為學生學習Python并進行深層次的研究與項目開發(fā)提供了學習動力。

      本文基于Python進行“數(shù)字信號處理”課程的教學改革,教學效果在實踐中得到了檢驗。

      2 教改思路與方案

      當前,我院“數(shù)字信號處理”課程教學分為課堂教學和課下自學兩部分,課堂教學包括理論教學和實驗教學,課下自學包括課程設計和網(wǎng)絡課程自學。

      課堂教學中,理論教學與實驗教學穿插進行,根據(jù)教學內(nèi)容定期安排實驗課程,以做到現(xiàn)學現(xiàn)用;課程設計的選題采用任課教師提供與學生自主選題相結合的方式進行,在課程教學完成后由學生自主完成,并提交課程設計報告,成績計入最終考核成績;網(wǎng)絡課程自學主要依托校園網(wǎng)網(wǎng)絡課程接口,其上具有在線答疑、文檔資料上傳下載、作業(yè)布置與提交、教學視頻觀看等功能,提供豐富多彩的自主學習環(huán)境。

      2.1 課堂教學部分

      課堂理論教學主要分四步實施,首先是課程引入,主要通過教師口述和PPT展示對關鍵知識點進行直觀展現(xiàn),使學生建立初步的整體印象,激發(fā)學習興趣;接著是理論講授環(huán)節(jié),主要由教師進行理論講解、數(shù)學推導等內(nèi)容,旨在使學生打牢理論基礎;其間穿插著實驗驗證,包括根據(jù)授課內(nèi)容編寫Python源碼進行現(xiàn)場演示。由于Python語法簡單,代碼簡潔易懂,又有成熟的第三方開源庫可資利用,因此便于學生深入理解所學知識以及掌握如何將所學知識轉化為實際應用;最后是總結答疑,即對課程授課內(nèi)容總結,布置理論和上機作業(yè),現(xiàn)場輔導答疑。例如,在離散傅里葉變換一節(jié),可通過以下四個階段組織教學:第一階段10分鐘左右,概要介紹授課內(nèi)容,包括DFT的定義、原理、應用場景等,再調用pyaudio庫讀入一段原始語音信號,選取中間1024個樣本構成numpy數(shù)組,調用scipy中FFT函數(shù)對其進行傅里葉變換,最后調用matplotlib展示變換前后的時域、頻域曲線,并對比變換前后信號的特點;第二階段20分鐘左右,講解DFT的原理,現(xiàn)場進行公式推導,并詳細介紹其基本特點;第三階段10分鐘左右,根據(jù)DFT公式的定義編寫Python源碼,并對原始語音信號進行傅里葉變換,并與第一階段Python庫函數(shù)變換的結果進行對比。第四階段10分鐘左右,主要是總結授課內(nèi)容,布置理論作業(yè)和上機作業(yè)以及現(xiàn)場輔導答疑。

      實驗課程教學以集中安排、隨堂輔導、自主完成的形式進行,分三個階段組織實施,同時編寫配套的Python實驗教材供學生參考使用。第一階段為任務布置階段,由教師介紹并布置實驗任務,提供實驗材料和參考資料;第二階段為實施階段,由學生根據(jù)實驗題目自主編寫Python代碼進行實驗,記錄實驗數(shù)據(jù)并分析實驗結果。由于Python軟件體積較小,安裝過程簡單,因此極大地方便了學生搭建實驗環(huán)境。另外,其語法與CC++類似,入門較Matlab容易,降低了學習門檻,便于學生學習使用;第三階段為實驗總結階段,由學生整理并撰寫實驗報告,任課教師作總結講評。課程共設置離散信號時頻分析、離散系統(tǒng)時頻分析、數(shù)字濾波器設計、數(shù)字信號濾波處理和語音信號數(shù)字濾波共5個大項實驗,要求學生自己按照實驗教材編程實現(xiàn),并與所提供的Python庫函數(shù)作對比,以加深學生對所學知識的理解程度。

      2.2 課下自學部分

      課程設計以培養(yǎng)學生運用所學知識解決實際問題為目標,由任課教師依據(jù)科研課題中遇到過的信號處理需求設置相應的課題,學生根據(jù)興趣自主選題并獨立完成,最后提交Python源碼和課程設計報告。由于Python的開源屬性,網(wǎng)上有眾多系統(tǒng)而全面的學習資料供學生查閱,可以避免學生因遇到困難無法及時找到解決方案而消極應付。例如,對機房低噪音環(huán)境下錄制的語音信號進行降噪處理,要求學生根據(jù)給定的公式,編寫源碼對語音信號進行時域的分幀、加窗、預加重以及某項特征參數(shù)提取,并將最終結果與Python庫函數(shù)的處理效果作對比。在此過程中,學生對于在實驗課程中已經(jīng)實現(xiàn)過的公式可調用Python庫函數(shù),對于沒有實現(xiàn)過的公式要求自己手動實現(xiàn)。

      網(wǎng)絡課程依托校園網(wǎng)網(wǎng)絡課程接口為學生提供課下自主學習服務,包括在線答疑、文檔資料上傳下載、作業(yè)在線布置與提交以及教學視頻觀看等功能。在線答疑可及時解決學生學習過程中遇到的問題,避免問題堆積過多,使學生失去學習興趣。與課程相關的Python資料會及時上傳到網(wǎng)絡課程相應欄目供學生下載學習,包括教學課件、參考教材、基礎教程、學習網(wǎng)站等。網(wǎng)絡課程在師生之間建立了便捷的課下溝通平臺,為學生自主學習提供了豐富的學習資源,彌補了課堂教學時間緊、任務多、不能面面俱到的不足。由于Python應用廣泛,新的開發(fā)項目層出不窮,因此對學生學習前沿知識、提升動手實踐能力會有較強的吸引力。

      將Python引入“數(shù)字信號處理”課程教學,豐富了課程教學內(nèi)容,拓展了教學方法,便于學生理解教學內(nèi)容并開展自主學習,有利于培養(yǎng)學生的動手實踐能力,為將來走向工作崗位打下良好的基礎。需要注意的是,Python完全開源的特點也可能為學生抄襲網(wǎng)上答案提供方便,因此在教學過程中要著力強調誠信的治學態(tài)度。實驗教學只提供必要的實驗平臺和輔助材料,而更重要的是嚴格把控課程設計的選題和完成質量,從思想上和行動上杜絕可能發(fā)生的抄襲行為。

      3 結語

      本文所提的基于Python的“數(shù)字信息處理”課程教改方案從2014年得到學院立項資助并開始部署實施,在學院所有開設該課程的本科專業(yè)進行試點。(黃曉輝等文)

      試點過程中,2011級學生仍然用Matlab為工具展開教學,2012級學生分為兩個班次分別以Matlab和Python為工具展開教學,而2013級全部使用Python實施教學,根據(jù)教學過程中學生的學習態(tài)度和作業(yè)完成情況,以及考核成績及格率、優(yōu)良率、課下自主學習時間等統(tǒng)一綜合性指標,調查問卷的統(tǒng)計數(shù)據(jù)結果顯示,使用Python的課程教學效果明顯好于使用Matlab的教學效果,證明本次教學改革方案科學合理,解決了之前遇到的現(xiàn)實問題,有效提升了教學質量。

      參考文獻:

      [1]王艷芬,史良,王剛.基于Matlab實驗環(huán)境的《數(shù)字信號處理》課程新實驗開發(fā)[J].北京:實驗技術與管理,2002,19(3):61-68.

      [2]張曉光,王艷芬,王剛.基于Matlab的數(shù)字信號處理課程教學探索[J].武漢:高等教育研究,2007,24(2):45-46.

      [3]陳俊杰,周暉.數(shù)字信號處理課程教學改革初探[J]. 北京:中國教育技術裝備,2016(12):99-100.

      [4]羅忠亮. 數(shù)字信號處理課程教學改革實踐探索[J]. 福州:教育評論,2015(2):124-126.

      [5]王艷芬,張曉光,王剛.電子信息類專業(yè)信號處理課程群的建設與改革實踐[J].北京:實驗技術與管理,2015,32(4):11-14.

      [6]黃永平. 數(shù)字信號處理精品課程建設的探索[J]. 北京:教育與職業(yè),2014(32):188-189.

      [7]張俊生,郭彩平,樓國紅. Python在數(shù)字信號處理中的應用[J].南京:電氣電子教學學報,2015,37(4):115-117.

      [8]張若愚.Python科學計算[M]. 北京:清華大學出版社,2016年4月.

      猜你喜歡
      數(shù)字信號處理信號處理課程設計
      龍鳳元素系列課程設計
      少兒美術(2019年1期)2019-12-14 08:01:34
      《信號處理》征稿簡則
      信號處理(2018年5期)2018-08-20 06:16:02
      《信號處理》第九屆編委會
      信號處理(2018年5期)2018-08-20 06:16:00
      《信號處理》征稿簡則
      信號處理(2018年8期)2018-07-25 12:25:42
      《信號處理》第九屆編委會
      信號處理(2018年8期)2018-07-25 12:24:56
      《數(shù)字信號處理》中存在的難點問題解析
      亞太教育(2016年34期)2016-12-26 12:51:31
      電子信息工程專業(yè)數(shù)字信號處理課程改革與研究
      文理導航(2016年32期)2016-12-19 21:58:13
      “數(shù)字信號處理課程設計”教學的探索與實踐
      科技視界(2016年25期)2016-11-25 08:36:37
      SPTool在數(shù)字信號處理課程教學中的應用
      科技視界(2016年13期)2016-06-13 17:29:37
      基于Articulate Storyline的微課程設計與開發(fā)
      中小學電教(2016年3期)2016-03-01 03:40:53
      兴安县| 达孜县| 托克逊县| 大同县| 山阴县| 宝鸡市| 文安县| 海宁市| 腾冲县| 通江县| 北宁市| 中牟县| 宜都市| 汝南县| 泰和县| 萝北县| 汪清县| 普洱| 上犹县| 屯门区| 盱眙县| 临泽县| 大田县| 临潭县| 武平县| 德清县| 通辽市| 松滋市| 故城县| 盐源县| 南投市| 桐城市| 炎陵县| 老河口市| 楚雄市| 彰化县| 沁源县| 当阳市| 汽车| 紫阳县| 禄丰县|