freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的fir和iir數(shù)字濾波器的設計與仿真-資料下載頁

2025-06-23 22:47本頁面
  

【正文】 order、4階;Frequency Specifications中Units選擇Hz、Fs:48000、Fc:10800 點擊Design filter,設計濾波器。 然后就得到了濾波器系數(shù)。我們可以通過點擊 Analysis 下的Filter Coefficients 來觀察濾波器的系數(shù),如圖 42 所示。圖42 IIR濾波器系數(shù)顯示圖中所顯示系數(shù)經(jīng)過簡單計算可以得到公式41中的系數(shù)bi和ai。 (41)因此根據(jù)公式就設計出了濾波器。 IIR濾波器的仿真這里使用的方法與之前的FIR濾波器的仿真基本類似,先根據(jù)圖43搭建仿真圖。圖中九個輸入信號分別是50Hz、100Hz、150Hz、200Hz、250Hz、300Hz、350Hz、400Hz和常數(shù)50。Powergui則是用來觀察和分析信號的。Sfunction是通過已計算出的濾波器系數(shù)編寫程序?qū)崿F(xiàn)公式(42)來代替濾波器。 (42)圖43 IIR濾波器仿真圖點擊仿真開始按鈕,雙擊Scope2得到濾波前后的波形。如圖34,上部分為濾波前波形,下部分為濾波后波形。下面通過powergui器件觀察濾波器的濾波效果。雙擊powergui器件,選擇FFT Analysis觀察濾波前后波形。分別如圖4圖46所示。圖44 濾波前后波形圖45 濾波前FFT analysis圖46 濾波后FFT analysis下面給出Sfunction中程序內(nèi)容:define S_FUNCTION_NAME i2//define S_FUNCTION_NAME i2//define S_FUNCTION_NAME i2define S_FUNCTION_LEVEL 2include //include include define pi define U(element) (*uPtrs[element]) /* Pointer to Input Port0 */define ModRate 。//define k 。floatstatic float t。float t1。static float x[4]。static float y[4]。static float z[4]。static float coff2[5]。static float coff1[5]。float sum。float average。static void calc(void)。/*====================* * Sfunction methods * *====================*/ /* Function: mdlInitializeSizes =============================================== * Abstract: * The sizes information is used by Simulink to determine the Sfunction * block39。s characteristics (number of inputs, outputs, states, etc.). */static void mdlInitializeSizes(SimStruct *S){ ssSetNumSFParams(S, 0)。 /* Number of expected parameters */ if (ssGetNumSFParams(S) != ssGetSFParamsCount(S)) { return。 /* Parameter mismatch will be reported by Simulink */ } ssSetNumContStates(S, 0)。 ssSetNumDiscStates(S, 0)。 if (!ssSetNumInputPorts(S, 1)) return。 ssSetInputPortWidth(S, 0, 1)。 ssSetInputPortDirectFeedThrough(S, 0, 1)。 if (!ssSetNumOutputPorts(S, 1)) return。 ssSetOutputPortWidth(S, 0, 1)。 ssSetNumSampleTimes(S, 1)。 ssSetNumRWork(S, 0)。 ssSetNumIWork(S, 0)。 ssSetNumPWork(S, 0)。 ssSetNumModes(S, 0)。 ssSetNumNonsampledZCs(S, 0)。 //ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE)。 /* Take care when specifying exception free code see */ ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE)。 average=0。 sum=0。 } /* Function: mdlInitializeSampleTimes ========================================= * Abstract: * Specifiy that we have a continuous sample time. */static void mdlInitializeSampleTimes(SimStruct *S){ ssSetSampleTime(S, 0, )。 ssSetOffsetTime(S, 0, )。 ssSetModelReferenceSampleTimeDefaultInheritance(S)。 } //define MDL_INITIALIZE_CONDITIONS/* Function: mdlInitializeConditions ======================================== * Abstract: * Initialize both continuous states to zero. *//*static void mdlInitializeConditions(SimStruct *S){ real_T *x0 = ssGetContStates(S)。 int_T lp。 for (lp=0。lp3。lp++) { *x0++=。 }}*/ /* Function: mdlOutputs ======================================================= * Abstract: * y = Cx + Du */static void mdlOutputs(SimStruct *S, int_T tid){ real_T *y = ssGetOutputPortRealSignal(S,0)。 real_T *x = ssGetContStates(S)。 real_T *z = ssGetContStates(S)。 InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0)。 UNUSED_ARG(tid)。 /* not used in single tasking mode */ t=U(0)。 //if(i63) i=0。 calc()。 // if (ssIsSampleHit(S, 1, tid)) {CLK1++。 if(CLK199) CLK1=0。} y[0]=average。 // i++。 } static void calc(void){ int i,j。 i=0。 j=0。 coff2[0]=。coff2[1]=。coff2[2]=。coff2[3]=。coff2[4]=。coff1[1]=。coff1[2]=。coff1[3]=。coff1[4]=。 for(i=0。i4。i++) { y[i]=x[i]。 sum=sum+coff2[i]*x[i]。 } z[j]=sum for(j=1。j4。j++) { sum=sum+coff1[j]*z[j]。 } for(i=1。i4。i++) {t1=y[i1]。 x[i]=t1。} x[0]=t。 average=sum。 sum=0。} //define MDL_DERIVATIVES/* Function: mdlDerivatives ================================================= * Abstract: * xdot = Ax + Bu *//*static void mdlDerivatives(SimStruct *S){ real_T *dx = ssGetdX(S)。 real_T *x = ssGetContStates(S)。 InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0)。 //real_T Ts=3。 // x[0]=U(0)+1。 }*/ /* Function: mdlTerminate ===================================================== * Abstract: * No termination needed, but we are required to have this routine. */static void mdlTerminate(SimStruct *S){ UNUSED_ARG(S)。 /* unused input argument */} ifdef MATLAB_MEX_FILE /* Is this file being piled as a MEXfile? */include /* MEXfile interface mechanism */elseinclude /* Code generation registration function */endif 本章小結(jié) 本章介紹并且設計了IIR濾波器,同時基于simulink進行了仿真。第5章 總結(jié)與展望本文先是基于數(shù)字信號處理和數(shù)字濾波技術(shù)的基本原理,對數(shù)字濾波器進行簡單介紹。然后,在此基礎上,利用MATLAB中的濾波器設計分析工具箱FDATooI對FIR和IIR濾波器進行設計,并在MATLAB中的Simulink仿真環(huán)境下搭建了用于驗證的仿真圖。在許多方面,數(shù)字濾波技術(shù)都具有模擬濾波技術(shù)所無法比擬的優(yōu)勢,因而其應用前景更加廣闊。而且,隨著數(shù)字信號處理技術(shù)的不斷發(fā)展和新算法新結(jié)構(gòu)的不斷提出,數(shù)字濾波器的性能將會變得越來越高,從而滿足更高的應用要求,同時,也為圖像處理等其他工程領域提供一種更佳的選擇。參考文獻[1].[2]Joyce Van de Vegte, Fundamentals of Digital Signal Processing[M],電子工業(yè)出版社,2003.[3]王念旭,DSP基礎與應用系統(tǒng)設計[M],北京航空航天大學出版社,2001。[4].[5]張賢達,現(xiàn)代信號處理[M],清華大學出版社,1995.[6]錢同慧,數(shù)字信號處理[M],機械工業(yè)出版社,2005.[7]程佩清,數(shù)字信號處理的原理和實現(xiàn)[M],上海交通大學出版社,1998.[8]申敏,DSP原理及其在移動通信中的應用[M],民郵電出版社,2001.[9]彭啟瓊,DSP技術(shù)的發(fā)
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1