音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)及調(diào)頻發(fā)射機(jī)設(shè)計(jì)_第1頁(yè)
音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)及調(diào)頻發(fā)射機(jī)設(shè)計(jì)_第2頁(yè)
音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)及調(diào)頻發(fā)射機(jī)設(shè)計(jì)_第3頁(yè)
音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)及調(diào)頻發(fā)射機(jī)設(shè)計(jì)_第4頁(yè)
音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)及調(diào)頻發(fā)射機(jī)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第34頁(yè)共10頁(yè)課程設(shè)計(jì)說(shuō)明書課程設(shè)計(jì)名稱:軟件綜合課程設(shè)計(jì)課程設(shè)計(jì)題目:音頻播放器程序的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院名稱:信息工程學(xué)院專業(yè):電子信息工程班級(jí):學(xué)號(hào):姓名:評(píng)分:教師:20年2月22日電子信息工程專業(yè)課程設(shè)計(jì)任務(wù)書20XX-20XX學(xué)年第2學(xué)期第1周-2周題目?jī)?nèi)容及要求1、設(shè)計(jì)題目:MP3播放器的設(shè)計(jì)2、設(shè)計(jì)內(nèi)容及要求:利用MFC應(yīng)用程序、媒體控制接口MIC的基本知識(shí),設(shè)計(jì)一個(gè)MP3播放器。要求能夠播放常用Windows音頻格式的文件;實(shí)現(xiàn)播放控制:播放、暫停、停止等;實(shí)現(xiàn)音量控制:靜音、聲音放大減??;實(shí)現(xiàn)播放列表管理:加入文件、加入目錄、刪除文件等功能。進(jìn)度安排2月17日:完成需求分析,確定程序功能,確立程序設(shè)計(jì)思想;2月18日~2月19日:進(jìn)行詳細(xì)設(shè)計(jì),實(shí)現(xiàn)編碼;2月20日:進(jìn)行程序測(cè)試,完善編碼;撰寫設(shè)計(jì)說(shuō)明書,準(zhǔn)備驗(yàn)收;2月21日:驗(yàn)收。學(xué)生姓名:指導(dǎo)時(shí)間第一周:周一至周五指導(dǎo)地點(diǎn):綜合試驗(yàn)樓中506室任務(wù)下達(dá)20XX年2月17日任務(wù)完成20XX年2月21日考核方式1.評(píng)閱□2.答辯□3.實(shí)際操作□4.其它□指導(dǎo)教師系(部)主任正文: 目錄引言…………………..5一、設(shè)計(jì)程序的目的與要求…6目的……………6要求…………………6二、方案實(shí)現(xiàn)與調(diào)試………………6總體設(shè)計(jì)………….61、實(shí)現(xiàn)功能………62、功能模塊圖…………………..7詳細(xì)設(shè)計(jì)………….71、界面布局………72、各模塊功能設(shè)計(jì)………………82.1處理“打開(kāi)”按鈕………………..92.2處理“播放”按鈕……………….92.3處理“暫?!卑粹o………………..92.4處理“停止”按鈕………………..92.5處理“音量”按鈕…………………102.6處理“退出”按鈕………………...103操作步驟……….10三、課程設(shè)計(jì)分析與總結(jié)……….11分析…………..11總結(jié)…………...11附錄……………….13關(guān)鍵程序清單…………………13參考文獻(xiàn)………20 引言MP3播放器的設(shè)計(jì)是利用MFC應(yīng)用程序、媒體控制接口MIC的基本知識(shí)而設(shè)計(jì)的。1.1MFC簡(jiǎn)介MFC是VisualC++是核心。MFC類庫(kù)將所有圖形用戶界面的元素如窗口、菜單和按鈕等都以類的形式進(jìn)行了封裝,MFCAppWizard向?qū)Ц鶕?jù)繼承性利用MFC派生出自己的類,并對(duì)Windows應(yīng)用程序進(jìn)行了分解,利用MFC派生類對(duì)應(yīng)用程序重新進(jìn)行組裝,同時(shí)還規(guī)定了應(yīng)用程序中各個(gè)MFC派生類對(duì)象之間的相互聯(lián)系,實(shí)現(xiàn)了標(biāo)準(zhǔn)Windows應(yīng)用程序的功能,這就是向?qū)傻乃^MFC應(yīng)用程序框架。每個(gè)MFC類都包括了一些函數(shù),函數(shù)放到類中,符合C++編程方法。這些函數(shù),必須通過(guò)類定義對(duì)象才能使用[1]。1.2MCI簡(jiǎn)介MCI(MediaControlInterface)媒體控制接口是MircroSoft提供的一組多媒體設(shè)備和文件的標(biāo)準(zhǔn)接口,它的好處是可以方便地控制絕大多數(shù)多媒體設(shè)備包括音頻、視頻、影碟、錄像等多媒體設(shè)備,而不需要知道它們的內(nèi)部工作狀況。它所支持的媒體格式包括mp3、avi、wav、mpeg等等[2]。音頻技術(shù)發(fā)展較早,幾年前一些技術(shù)已經(jīng)成熟并產(chǎn)品化,音頻技術(shù)主要包括四個(gè)方面:音頻數(shù)字化、語(yǔ)音處理、語(yǔ)音合成及語(yǔ)音識(shí)別。音頻文件包括多種格式的文件,MP3就是其中的一種。MP3的全稱是MovingPictureExpertsGroup,AudioLayerⅢ,它所使用的技術(shù)是在VCD(MPEG-1)的音頻壓縮技術(shù)上發(fā)展出的第三代,而不是MPEG-3。MP3是一種音頻壓縮的國(guó)際技術(shù)標(biāo)準(zhǔn),它一般需要MP3播放器來(lái)讀取。課程設(shè)計(jì)的目的與要求1、目的利用VC++開(kāi)發(fā)一個(gè)支持wav、mp3、wma等不同音頻格式的媒體播放器。通過(guò)課程設(shè)計(jì)掌握多媒體編程的基本原理。2、任務(wù)編程實(shí)現(xiàn)一個(gè)可支持多種音頻格式的媒體播放器,其基本功能包括媒體播放、音量調(diào)節(jié)、播放進(jìn)度選擇、暫停、停止以及歌曲信息的查詢與添加等;給出程序的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),要求程序總體架構(gòu)圖、詳細(xì)設(shè)計(jì)的流程圖,函數(shù)、變量說(shuō)明等給出程序運(yùn)行、測(cè)試的詳細(xì)結(jié)果。方案實(shí)現(xiàn)與調(diào)試總體設(shè)計(jì)1實(shí)現(xiàn)功能MP3播放器主要對(duì)常用Windows音頻格式的文件實(shí)現(xiàn)播放控制:播放歌曲、暫停播放、停止播放等;實(shí)現(xiàn)音量控制:靜音、聲音放大以及聲音減小的功能。2功能模塊圖MP3MP3播放器打開(kāi)文件播放歌曲暫停播放停止播放音量控制圖-1系統(tǒng)功能模塊圖詳細(xì)設(shè)計(jì)1界面布局設(shè)計(jì)(1)創(chuàng)建一個(gè)對(duì)話框類,類名為Mp3PlayerDlg。(2)向?qū)υ捒蛑刑砑覩roupBox控件、StaticText控件以及按鈕控件。(3)設(shè)置所添加的控件的屬性。系統(tǒng)界面的運(yùn)行結(jié)果圖如圖-2所示。

圖-2系統(tǒng)界面運(yùn)行結(jié)果圖Mp3Player對(duì)話框中所用控件的屬性描述如表-1所示。表-1對(duì)話框控件ID及其描述控件ID描述IDC_STATIC_INFO_WNDGroupBox控件,用來(lái)顯示“信息窗口”IDC_STATIC_INFOStaticText控件,用來(lái)顯示各種信息IDC_STATIC_OPERATIONGroupBox控件,用來(lái)顯示“操作面板”IDC_BUTTON_OPEN按鈕控件,單擊它用來(lái)選擇歌曲IDC_BUTTON_PLAY按鈕控件,單擊它用來(lái)播放歌曲IDC_BUTTON_PAUSE按鈕控件,單擊它用來(lái)暫停播放歌曲IDC_BUTTON_STOP按鈕控件,單擊它用來(lái)停止播放歌曲IDC_BUTTON_VOLUME按鈕控件,單擊它用來(lái)設(shè)定音量IDC_BUTTON_QUIT按鈕控件,單擊它用來(lái)退出程序2各模塊功能設(shè)計(jì)2.1處理“打開(kāi)”按鈕單擊“打開(kāi)”按鈕后,在OnButtonOpen()函數(shù)中,首先對(duì)文件類型進(jìn)行過(guò)濾,調(diào)用DoModa()函數(shù)打開(kāi)對(duì)話框選擇一個(gè)媒體文件,通過(guò)GetPathName()函數(shù)獲取文件路徑,通過(guò)GetFileName()函數(shù)獲取文件名后,調(diào)用DisplayInfo()函數(shù)在StaticText控件上顯示“你選擇的歌曲是(文件名)”,然后利用GetDlgItem()函數(shù)設(shè)置“暫?!卑粹o以及“停止”按鈕不可用。2.2處理“播放”按鈕單擊“播放”按鈕后,在OnButtonPlay()函數(shù)中,通過(guò)調(diào)用MCIMP3類的MCIOpen()函數(shù)獲取剛才選擇的文件路徑以及文件名,調(diào)用該類的MCIPlay()函數(shù)播放歌曲,此時(shí)調(diào)用DisplayInfo()函數(shù)在StaticText控件上顯示“正在播放的歌曲是(文件名)”,進(jìn)行歌曲的播放,然后利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕不可用。2.3處理“暫停”按鈕單擊“暫?!卑粹o后,在OnButtonPause()函數(shù)中,首先通過(guò)調(diào)用MCIMP3類的MCIPause()函數(shù)暫停正在播放的歌曲,然后調(diào)用DisplayInfo()函數(shù)在StaticText控件上顯示“暫停播放歌曲(文件名)”,此時(shí)的歌曲處于暫停時(shí)的進(jìn)度上,利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕可用。2.4處理“停止”按鈕單擊“停止”按鈕后,在OnButtonStop()函數(shù)中,首先通過(guò)調(diào)用MCIMP3類的MCIPause()函數(shù)停止正在播放的歌曲,然后調(diào)用DisplayInfo()函數(shù)在StaticText控件上顯示“停止播放歌曲(文件名)”,將停止正在播放歌曲,利用GetDlgItem()函數(shù)設(shè)置“暫?!卑粹o和“停止”按鈕不可用。2.5處理“音量”按鈕單擊“音量”按鈕后,在OnButtonVolume()函數(shù)中,首先調(diào)用WinExec()函數(shù)并且打開(kāi)C:/WINDOWS/System32/sndvol32.exe,彈出“主音量”對(duì)話框,在此對(duì)話框內(nèi)可以對(duì)音量進(jìn)行增大或減小以及靜音的設(shè)置。2.6處理“退出”按鈕單擊“退出”按鈕后,在OnButtonQuit()函數(shù)中,調(diào)用CDialog類的OnCancel()函數(shù)將退出對(duì)話框,結(jié)束程序的運(yùn)行。3操作步驟先在VS環(huán)境下建立好一個(gè)基于對(duì)話框的工程。打開(kāi)資源視圖,在對(duì)話框內(nèi)按照布局圖布局,步好后根據(jù)表-1來(lái)設(shè)置屬性。添加相應(yīng)的變量和函數(shù)。進(jìn)行程序初始化。為各個(gè)按鈕添加消息處理函數(shù),并添加相應(yīng)的代碼。全部完成后進(jìn)行測(cè)試和調(diào)試。課程設(shè)計(jì)分析與總結(jié)分析 按照課程設(shè)計(jì)的要求,我們用C/C++來(lái)實(shí)現(xiàn)功能,但由于我們?cè)趯W(xué)過(guò)面向?qū)ο蠛?,我們常用的是VisualStudio2010版本的VS編輯器。在分析所要做的播放器時(shí),想到的最基本的功能就是可以播放音樂(lè),其次就是對(duì)播放過(guò)程中的操作,如:快進(jìn)或快退、上一曲或下一曲、播放/暫停、音量大小、選擇和添加歌曲、播放界面選擇……等等功能。但是,由于學(xué)識(shí)有限,我們?cè)谶@一周的時(shí)間內(nèi)沒(méi)有去考慮這么多功能,所以對(duì)于這樣一個(gè)播放器,還是存在很多的改進(jìn)方案。那么只有在以后的探索中慢慢來(lái)實(shí)現(xiàn)了。 總結(jié)經(jīng)過(guò)一周的面向?qū)ο蟪绦蛘n程設(shè)計(jì),我學(xué)到了很多。在這一周的實(shí)際動(dòng)手學(xué)習(xí)中,我對(duì)VC++這門課程有了更深刻的認(rèn)識(shí),掌握了用MFC創(chuàng)建基于對(duì)話框的應(yīng)用程序,同時(shí)了解了MCI相關(guān)知識(shí)。這次課程設(shè)計(jì)我做了MP3播放器的設(shè)計(jì),MP3播放器主要對(duì)常用Windows音頻格式的文件實(shí)現(xiàn)播放控制:播放歌曲、暫停播放、停止播放等;實(shí)現(xiàn)音量控制:靜音、聲音放大以及聲音減小的功能。本次課程設(shè)計(jì)中雖然可以實(shí)現(xiàn)播放、暫停、停止、播放界面美化以及音量等功能,但仍然存在著放多不足,比如進(jìn)度條功能沒(méi)有實(shí)現(xiàn)、列表管理的功能以及循環(huán)播放功能始終無(wú)法實(shí)現(xiàn),如果有時(shí)間一定會(huì)好好研究。課設(shè)是辛苦勞累的,但是收獲同樣是巨大的,在課設(shè)中每解決一個(gè)問(wèn)題,那種成就感是無(wú)法言語(yǔ)的,課設(shè)中第一次調(diào)試程序時(shí)出現(xiàn)了很多錯(cuò)誤,其中有邏輯錯(cuò)誤,編譯能通過(guò),運(yùn)行始終無(wú)法通過(guò),后來(lái)經(jīng)過(guò)思考,進(jìn)行了多次修改調(diào)試之后得到了運(yùn)行結(jié)果;但是還是存在兼容性問(wèn)題,電腦版本和系統(tǒng)以及軟件的版本之間存在各種兼容性問(wèn)題,因?yàn)橹霸诔绦蛑袔缀鯖](méi)見(jiàn)到過(guò),所以一時(shí)不知從何處檢查并改進(jìn),后來(lái)在老師的幫助下,找到了問(wèn)題,結(jié)果換了臺(tái)電腦,經(jīng)過(guò)改正調(diào)試最終達(dá)到了目的。像此類的問(wèn)題還有很多,不過(guò)經(jīng)過(guò)查詢資料,咨詢老師,與同學(xué)探討最終得到了理想的程序。此外,我還得到了一個(gè)結(jié)論,在課程設(shè)計(jì)中,老師的作用有時(shí)是不可或缺的,可以在關(guān)鍵時(shí)刻給我們一些重要的提示,從而方便我們解決各種問(wèn)題。這就是我對(duì)這次軟件課程設(shè)計(jì)的總結(jié)。附錄關(guān)鍵程序清單BOOLCMp3PlayerDlg::OnInitDialog()//初始化{ CDialog::OnInitDialog(); //Add"About..."menuitemtosystemmenu. //IDM_ABOUTBOXmustbeinthesystemcommandrange. ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX<0xF000); CMenu*pSysMenu=GetSystemMenu(FALSE); if(pSysMenu!=NULL) { CStringstrAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if(!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } //Settheiconforthisdialog.Theframeworkdoesthisautomatically //whentheapplication'smainwindowisnotadialog SetIcon(m_hIcon,TRUE); //Setbigicon SetIcon(m_hIcon,FALSE); //Setsmallicon //TODO:Addextrainitializationhere DisplayInfo(0,_T("歡迎使用Mp3Player!"),_T("")); GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCMp3PlayerDlg::OnButtonOpen()//打開(kāi){ //TODO:Addyourcontrolnotificationhandlercodehere charszFileFilter[]="AllMusicFiles(*.*)|*.*||"; CFileDialogFileOpenDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter/*,this*/); if(FileOpenDlg.DoModal()==IDOK) { m_csPathName=FileOpenDlg.GetPathName(); m_csSongName=FileOpenDlg.GetFileName(); DisplayInfo(1,_T("你選擇的歌曲是:"),m_csSongName); m_bIsOpened=TRUE; m_bIsNoSelectFile=FALSE; } else { m_bIsNoSelectFile=TRUE; } if(m_bIsOpened&&m_mcimp3.MCIIsPlaying()) { m_mcimp3.MCIClose(); m_mcimp3.MCIStop(); } if(m_bIsOpened&&m_mcimp3.MCIIsPlaying() &&m_bIsNoSelectFile) { m_mcimp3.MCIResume(); } if(m_bIsOpened&&m_bIsPressPauseBtn) { m_bIsPauseOpen=TRUE; } BOOLbIsPlayBtnEnabled=GetDlgItem(IDC_BUTTON_PLAY)->IsWindowEnabled(); if(!bIsPlayBtnEnabled) { GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE); } }voidCMp3PlayerDlg::OnButtonPlay()//播放{ //TODO:Addyourcontrolnotificationhandlercodehere if(m_bIsPauseOpen){ if(m_bIsNoSelectFile) { m_mcimp3.MCIResume(); DisplayInfo(1,_T("繼續(xù)播放歌曲:"),m_csSongName); m_bIsPressPauseBtn=FALSE; } else { m_mcimp3.MCIOpen(m_csPathName); m_mcimp3.MCIPlay(); DisplayInfo(1,_T("正在播放的歌曲是:"),m_csSongName); GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE); m_bIsNoSelectFile=TRUE; } } elseif(m_bIsOpened&&m_bIsPressPauseBtn) { m_mcimp3.MCIPlay(); DisplayInfo(1,_T("繼續(xù)播放歌曲:"),m_csSongName); m_bIsPressPauseBtn=FALSE; GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE); } else { if(m_bIsNoSelectFile) { DisplayInfo(0,_T("你還沒(méi)有選擇歌曲,點(diǎn)擊播放沒(méi)有意義!"),_T("")); return; } m_mcimp3.MCIOpen(m_csPathName); m_mcimp3.MCIGetLength(&m_dwLen); m_mcimp3.MCIPlay(); SetTimer(1,1000,NULL); DisplayInfo(1,_T("正在播放的歌曲是:"),m_csSongName); m_bIsPressStopBtn=FALSE; GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE); } BOOLbIsPauseBtnEnabled=GetDlgItem(IDC_BUTTON_PAUSE)->IsWindowEnabled(); if(!bIsPauseBtnEnabled) { GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(TRUE); }BOOLbIsStopBtnEnabled=GetDlgItem(IDC_BUTTON_STOP)->IsWindowEnabled(); if(!bIsStopBtnEnabled) { GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(TRUE); }}voidCMp3PlayerDlg::OnButtonPause()//暫停{ //TODO:Addyourcontrolnotificationhandlercodehere BOOLbIsPlaying=m_mcimp3.MCIIsPlaying(); if(bIsPlaying) { m_mcimp3.MCIPause(); DisplayInfo(1,_T("暫停播放歌曲:"),m_csSongName); m_bIsPressPauseBtn=TRUE; } BOOLbIsPlayBtnEnabled=GetDlgItem(IDC_BUTTON_PLAY)->IsWindowEnabled(); if(!bIsPlayBtnEnabled) { GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE); }}voidCMp3PlayerDlg::OnButtonStop()//停止{ //TODO:Addyourcontrolnotificationhandlercodehere if(m_mcimp3.MCIStop()==0) //停止播放 { m_bIsPressStopBtn=TRUE; m_bIsPressPauseBtn=FALSE; GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE); DisplayInfo(1,_T("停止播放歌曲:"),m_csSongName); m_mcimp3.MCIClose(); GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE); } BOOLbIsPlayBtnEnabled=GetDlgItem(IDC_BUTTON_PLAY)->IsWindowEnabled(); if(!bIsPlayBtnEnabled) { GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE); }}voidCMp3PlayerDlg::OnButtonQuit()//退出{ //TODO:AddyourcontrolnotificationhandlercodehereCDialog::OnCancel();}voidCMp3PlayerDlg::OnButtonVolume()//音量{ //TODO:Addyourcontrolnotificationhandlercodehere WinExec("C:\\WINDOWS\\System32\\sndvol32.exe",SW_NORMAL); }voidCMp3PlayerDlg::DisplayInfo(boolbOPInfo,CStringcsInfo,CStringcsSongName){ if(!bOPInfo) { m_csInfo=csInfo; } else { m_csInfo=csInfo; m_csInfo+=csSongName; } GetDlgItem(IDC_STATIC_INFO)->SetWindowText(m_csInfo);}voidCMp3PlayerDlg::OnTimer(UINTnIDEvent){ //TODO:Addyourmessagehandlercodehereand/orcalldefault if(nIDEvent==1) { if(0==m_dwLen){KillTimer(1);DisplayInfo(1,_T("已經(jīng)播放完歌曲:"),m_csSongName); GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE); return;}m_dwLen--; } CDialog::OnTimer(nIDEvent);}參考文獻(xiàn)[1]黃維通.VisualC++面向?qū)ο缶幊探坛?第三版.北京:清華大學(xué)出版社,2011[2]侯俊杰.深入淺出MFC.第2版.廣東:南方出版社,2007[3]嚴(yán)華峰等.VisualC++課程設(shè)計(jì)案例精編.北京:中國(guó)水利水電出版社,2004[4]王維玉等.VisualC++高級(jí)編程技術(shù)精粹.北京:科學(xué)出版社,2008[5]陳國(guó)建等.VisualC++范例開(kāi)發(fā)大全.北京:清華大學(xué)出版社,2010淮海工學(xué)院課程設(shè)計(jì)報(bào)告書課程名稱:通信電子線路課程設(shè)計(jì)題目:調(diào)頻發(fā)射機(jī)設(shè)計(jì)系(院):通信工程系學(xué)期:專業(yè)班級(jí):通信姓名:學(xué)號(hào):評(píng)語(yǔ):成績(jī):簽名:日期:調(diào)頻發(fā)射機(jī)電路設(shè)計(jì)一緒論1.1摘要調(diào)頻信號(hào)的基本特點(diǎn)是它的瞬時(shí)頻率按調(diào)制信號(hào)規(guī)律變化,因而,一種最容易的實(shí)現(xiàn)方法是用調(diào)制信號(hào)直接控制振蕩器的振蕩頻率,使其不失真地反映調(diào)制信號(hào)的變化規(guī)律。通常將這種直接調(diào)變振蕩器頻率的方法稱為直接調(diào)頻法。采用這種方法時(shí),被控的振蕩器可以是產(chǎn)生正弦波的LC振蕩器和晶體振蕩器,也可以是產(chǎn)生非正弦的張弛振蕩器。前者產(chǎn)生調(diào)頻正弦波,后者產(chǎn)生調(diào)頻非正弦波(例如調(diào)頻方波,調(diào)頻三角波),如果需要,通過(guò)濾波等方法將調(diào)頻非正弦波變換為調(diào)頻正弦波。本電路采用LC振蕩器。1.2主要性能要求1(天線)負(fù)載電阻:RL=75歐;2發(fā)射功率:Po≥80mW;3工作中心頻率:f0=6.5MHz;4最大頻偏:;5總效率:。1.3概述設(shè)計(jì)一個(gè)完整的小功率直接調(diào)頻發(fā)射機(jī)系統(tǒng),直接調(diào)頻發(fā)射系統(tǒng)框圖主要由調(diào)頻振蕩器、緩沖隔離器、倍頻器、高頻功率放大器、調(diào)制信號(hào)發(fā)生器等電路組成。原理圖如圖1。圖1直接調(diào)頻發(fā)射機(jī)組成框圖二電路原理2.1LC振蕩電路工作原理電容三點(diǎn)式振蕩電路又稱考畢茲(Colpitts)電路,基本結(jié)構(gòu)入圖2左圖所示。圖中Cc為耦合電容,Cb為旁路電容,電阻Rb1,Rb2和Re構(gòu)成分壓式偏置,為電路提供直流偏置,Rl為輸出負(fù)載電阻。電路的交流通路如圖3右圖所示,如果移去管子,電容C1,C2和電感L為并聯(lián)諧振回路,構(gòu)成電路的選頻網(wǎng)絡(luò)。對(duì)于一個(gè)振蕩器,當(dāng)其負(fù)載阻抗及反饋系數(shù)已經(jīng)確定的情況,靜態(tài)工作點(diǎn)的位置對(duì)振蕩器的起振以及穩(wěn)定平衡狀態(tài)(振幅大小,波形好壞)有著直接的影響。要想起振,首先三極管應(yīng)該工作在靜態(tài)工作點(diǎn)。電路應(yīng)選擇合適的靜態(tài)工作點(diǎn)的位置。圖2振蕩電路電容三端反饋振蕩電路利用電容C1和C2作為分壓器,該電路滿足相位條件,選取合適時(shí)滿足振幅起振條件,該電路就可振蕩??傻玫秸袷庮l率近似為(2.1)式中:C是振蕩回路的總電容。該電路與電感三端反饋振蕩電路相比,輸出波比較好,波形更接近正弦波。適當(dāng)?shù)丶哟箅娐冯娙荩涂蓽p弱不穩(wěn)定因素對(duì)頻率的影響,從而提高電路的穩(wěn)定度。LC振蕩電路圖如下:圖3LC振蕩電路圖仿真波形如下:圖4調(diào)頻仿真波形頻率如下;圖5振蕩頻率2.2變?nèi)荻O管調(diào)頻原理變?nèi)荻O管調(diào)頻電路是一種常用的直接調(diào)頻電路,廣泛應(yīng)用于移動(dòng)通信和自動(dòng)頻率微調(diào)系統(tǒng)。其優(yōu)點(diǎn)是工作頻率高,固有損耗小且線路簡(jiǎn)單,能獲得較大的頻偏,其缺點(diǎn)是中心頻率穩(wěn)定度較低。較之中頻調(diào)制和倍頻方法,這種方法的電路簡(jiǎn)單、性能良好、副波少、維修方便,是一種較先進(jìn)的頻率調(diào)制方案。利用二極管的特性直接產(chǎn)生調(diào)頻波,其原理電路如圖4所示。圖6變?nèi)荻O管調(diào)頻電路變?nèi)荻O管Cj通過(guò)耦合電容C1并接在LCn回路的兩端,形成振蕩回路總電容的一部分。因而,振蕩回路的總電容C為:(2.2)振蕩頻率為:(2.3)加在二極管上的反向偏壓為:(直流反偏)(調(diào)制電壓)(高頻振蕩,可忽略)在微波發(fā)射機(jī)中,常用速調(diào)管振蕩器作為載波振蕩器,其振蕩頻率受控于加在管子反射極上的反射極電壓。因此,只需將調(diào)制信號(hào)加至反射極即可實(shí)現(xiàn)調(diào)頻。若載波是由多諧振蕩器產(chǎn)生的方波,則可用調(diào)制信號(hào)控制積分電容的充放電電流,從而控制其振蕩頻率。調(diào)頻電路如下:圖7變?nèi)荻O管直接調(diào)頻的工作原理圖仿真波形如下:圖8二極管調(diào)頻波形2.3緩沖隔離緩沖隔離級(jí)將調(diào)頻振蕩器與功放級(jí)隔離,以減小后級(jí)對(duì)振蕩器頻率穩(wěn)定度及振蕩波形的影響。是否選擇該單元電路,主要根據(jù)電路對(duì)穩(wěn)定性要求的高低。一般情況下,需要選擇該電路。緩沖級(jí)通常采用射極跟隨器電路。緩沖隔離圖:圖9緩沖隔離圖仿真圖如下:圖10緩沖隔離仿真圖2.4功率放大功率放大是將調(diào)頻振蕩器產(chǎn)生的信號(hào)頻率加倍,以達(dá)到發(fā)射機(jī)載波頻率的要求,這樣可以降低振蕩器的工作頻率,提高電路的頻率穩(wěn)定度。如果振蕩器的振蕩頻率可以滿足發(fā)射機(jī)載波頻率的要求,就可省去此電路。高頻功放電路使負(fù)載(天線)上獲得設(shè)計(jì)要求的發(fā)射功率。如果要求達(dá)到的發(fā)射功率比較大,那么在末級(jí)功放之前還要加功率推動(dòng)級(jí),以便為末級(jí)功放提供足夠的激勵(lì)功率。如果要求的發(fā)射功率不大,且振蕩級(jí)的輸出功率能夠滿足末級(jí)功放的輸入要求,那么功放推動(dòng)級(jí)也可省去。選擇高頻功率放大器時(shí)應(yīng)考慮幾個(gè)因素,如要使負(fù)載(天線)上獲得令人滿意的發(fā)射功率,而且整機(jī)效率較高,應(yīng)選擇丙類功率放大器。末級(jí)功放的功率增益不能太高,否則電路性能不穩(wěn)定,容易產(chǎn)生自激。因此要根據(jù)發(fā)射機(jī)各部分的作用,適當(dāng)?shù)睾侠矸峙涔β试鲆妗9β释苿?dòng)級(jí)為末級(jí)功放提供

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論