原创 定點計算與浮點計算

1.定點計算的必要性         定點計算,簡單來說,就是把小數轉換爲整數的一種計算。這個定點計算的點,就是小數點。從字面意思上說來,就是小數點固定的運算。在詳細一點就是,對於整數來說,將假定的小數點固定在某個位置,將整數視爲小數。一

原创 [數字信號處理]單位衝擊響應與頻響以及FIR實現代碼(C語言)

1.單位衝擊響應與頻響         就如同之前所說的一樣,使用下圖所示的單位衝擊響應,所設計的濾波器,是無法實現的。          現在,讓我們看看其這個濾波器的頻響。所謂頻響,就是計算其單位衝擊響應的離散時間傅里葉變換,  

原创 XS128超聲波程序

程序有2個。。一個是自己搭的,一個是買的模塊。自己搭的測距能到1.6M,模塊能到4M。   模塊程序   void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1) {       

原创 初學56F8366之芯片解鎖

我就很鬱悶了,真的很鬱悶。之前一直調SD卡來着,然後就忽然鎖定了。然後debug時候有如下提示。     failed to erase flash,即不能擦除FLASH。     unable to debug.FLASH  secur

原创 [數字信號處理]IIR濾波器基礎

1.IIR濾波器構造           之前在介紹FIR濾波器的時候,我們提到過,IIR濾波器的單位衝擊響應是無限的!用差分方程來表達一個濾波器,應該是下式這個樣子的。                    這個式子是N次差分方程的表達

原创 [數字信號處理]IIR濾波器的間接設計(C代碼)

1.模擬濾波器的設計       1.1巴特沃斯濾波器的次數         根據給定的參數設計模擬濾波器,然後進行變數變換,求取數字濾波器的方法,稱爲濾波器的間接設計。做爲數字濾波器的設計基礎的模擬濾波器,稱之爲原型濾波器。這裏,我們首

原创 SD卡FAT32文件結構(2)---創建與寫入BMP位圖

     下圖爲本人512MB諾基亞SD卡根目錄的數據,      1(紅色處):卷標,也就是名稱,我的SD卡名稱爲WHETA。      2(藍色處):文件名。      3(紫色處):文件類型。    從藍色與紫色處,可以看出我的根

原创 [數字信號處理]序言

       自從大三申請該博客以來,就沒有穩定的更新過,多數情況下,只是心血來潮就更新兩篇。現在已經兩年了!今天心血來潮看了下博客,居然有上千的訪問量了,深深的感到欣慰,看看大學的自己做的事,做的東西,也是很有趣的事呢!之前忙着研究生考

原创 MFRC500的驅動程序

      近幾天來,一直在看MFRC500的PDF。感覺要真的寫好這個程序是很難,畢竟需要注意的地方太多了。之後參考了飛利浦的程序,還有imzhangx的程序(原帖地址http://imzhangxp.blog.163.com/blo

原创 初學56F8366之SD卡讀寫(基於SPI模式)

8366片內資源非常豐富,有兩路SPI。其實之前一用過的一些單片機也有SPI接口,也調過一些所謂的SPI總線結構的IC,但那個時候都是用IO進行模擬的。比如,周立功的矩陣鍵盤管理芯片ZLG7289,這個有三個端口,SS、CLK、DIO,其

原创 初學56F8366之GPIO口操作

到板子之後兩天,終於可以下載程序了。       首先的學習我就從IO口操作看起了,看了一些LQ的例程。這個IO口的操作和單片機的IO口操作不同,因爲頭文件不健全,目前只能使用匯編去訪問寄存器。       asm(bfclr #0x7F

原创 [數字信號處理]相位特性解卷繞

1.什麼是解卷繞?爲什麼要解卷繞?          對於FIR濾波器的係數,也就是FIR濾波器的單位衝擊響應,做離散時間的傅里葉變換。比如,像下面這樣。 所得到的結果是這個FIR濾波器的頻率響應。然而,頻率響應又表示爲振幅特性和相位特

原创 SD卡驅動(基於XS128)

之前一直在做SD卡,一開始是基於8366的,但後面爲了給同學方便,直接做成XS的了。現在可以進行SD卡的讀寫,TXT的創建與BMP的創建。 下面是SD卡的驅動程序(基於XS128)。   #include "SD_Card.h"  #d

原创 [數字信號處理]使用窗函數設計FIR濾波器

1.設計參數         首先,先明白幾個概念。通帶,阻帶,過渡帶,通帶紋波和阻帶紋波分別是什麼?看下圖,        範圍稱爲通帶,對於允許誤差而言,這個範圍,稱爲通帶紋波。同樣的,對於範圍則是阻帶,這個範圍,稱爲阻帶紋波。中間

原创 JAVA寫串口程序

JAVA提供的串口操作的包(javax,comm),可以用於PC的串口一般操作,其包內的方法基本有如下幾個 addPortName(String, int, CommDriver) 添加端口名到端口列表裏addPortOwnershipL