顯示具有 Courses 標籤的文章。 顯示所有文章
顯示具有 Courses 標籤的文章。 顯示所有文章

2017年9月20日 星期三

[課程]2017數位音樂訊號分析


課程老師 : 蘇文鈺 

Email: alvinsu@mail.ncku.edu.tw

課程教室:65104


音樂多媒體系統實驗室(資訊系館新大樓7F 65707)


課程內容


2017/09/19(二) #Week1     課程說明 / 類比電子電路簡介 / Circuit Lab (模擬電路)
2017/09/26(二) #Week2     電路焊接 (Headphone Amplifier)
2017/10/03(二) #Week3     電路焊接 (Headphone Amplifier) / Speaker
2017/10/10(二) #Week4     停課
2017/10/17(二) #Week5     Raspberry Pi
2017/10/24(二) #Week6     Raspberry Pi
2017/10/31(二) #Week7     Paper presentation
2017/11/07() #Week8     
2017/11/14() #Week9     
2017/11/21() #Week10   
2017/11/28() #Week11   
2017/12/05() #Week12   
2017/12/12() #Week13   
2017/12/19() #Week14   
2017/12/26() #Week15     
2017/01/02() #Week16 
2017/01/09() #Week17   
2017/01/16() #Week18    

無法註冊Circuit Lab的人可以使用以下帳號: 

Alvin.WY.Su
密碼:screamlab2017


1. 訊源,採用樹莓派加上外接的高品質的DAC,加上聲音處理的程式介面與使用者介面,這部分請 陳敬曄負責,因為目前敬曄的工作很接近。
2. 擴大機與喇叭,需要實作與焊電路,這部分我來上。
3. 自動EQ演算法與程式設計。
4. Music Genre分類演算法。(彥光)
5. 音樂情緒分類演算法。
6. 設計以使用者偏好,調整EQ的演算法。 (承霖)

2012年9月19日 星期三

[course] Music Synthesis

作業001
給定一個單音的音樂檔案,
請用AMDF(Average Magnitude Difference Function)的方法找出其可能的週期。

作業002
給定一個單音的音樂檔案,
請用AUTOCORRELATION的方法找出其可能的週期。

作業003
給定一個單音的音樂檔案,請先將其normalize後,找出其可能的週期。
並找出其可能的 loop start, loop end,
然後取出loop start到loop end之間的音檔另存為wav檔案。

作業004
將古琴wavetable重新取樣成110Hz

作業005
用MIDI造一個110Hz的鋼琴音,並實作MIDI對ADSR的5個functions。
1.音高轉成MIDI note 53
2.音長為10.5秒
3.音量為1/2
4.速度為1/64
5.踏板為2

2012/09/19 - 下載
2012/09/26 - 下載

2012年3月9日 星期五

[課程]2012高速運算應用與多核心系統

=====2012 4/24====
MPI

0424 SPCP & MPI 課程資料

當天留下的lab是使用MPI寫矩陣相乘

交件時附上程式碼即可

在4/30前交

寄到課程助教信箱

對課程投影片有疑問可寄信至boy780828@hotmail.com

=====2012 4/17====
期末專題 project proposal

Monte Carlo Simulation of Photon Migration - 郭雅涵(蘇文鈺教授)

build a multi-core platform with Hadoop - 匡建慈(蘇文鈺教授)

Accelerating Viterbi Algorithm - 李佩靜(蘇文鈺教授)

千人交響樂 - 林益如(蘇文鈺教授)

SystemC-AMS Simulation on CUDA - 林敬倫(蘇文鈺教授)

Stereo Matching Based on Hierarchical Bilateral Disparity Structure with Unreliable Foreground Boundary Handling - 王邦威(詹寶珠教授)

加速 Disparity Estimation Using HBDS-based Graph Cut - 陳正旻(詹寶珠教授)


=====2012 3/9=====
有關課程討論部分會在這個討論串中
MIT的投影片下載
cuda課程資料下載
請報告同學把投影片寄給我由我統一公布在討論串中
課程助教 林敬倫 rurume1010@gmail.com
蘇文鈺老師 alvinsu@mail.ncku.edu.tw
=====2012 9/10====
期末專題 final project

Monte Carlo Simulation of Photon Migration - 郭雅涵(蘇文鈺教授)

build a multi-core platform with Hadoop - 匡建慈(蘇文鈺教授)

Accelerating Viterbi Algorithm - 李佩靜(蘇文鈺教授)

千人交響樂 - 林益如(蘇文鈺教授)

SystemC-AMS Simulation on CUDA - 林敬倫(蘇文鈺教授)

Stereo Matching Based on Hierarchical Bilateral Disparity Structure with Unreliable Foreground Boundary Handling - 王邦威(詹寶珠教授)

加速 Disparity Estimation Using HBDS-based Graph Cut - 陳正旻(詹寶珠教授)


加速 以CUDA實現超音波影像 即時運動追蹤技術 - 何嘉哲(王士豪教授)


2011年1月13日 星期四

2010系統層級程式設計簡介與實做

2011/1/12

期末Project評分方式請見:

期末作業評分

-------------------------------------------------

2010/1/5

期末Project:

期末作業的規範如下:

1. 使用8051當做中央處理的機器,此為模組一,其工作如下:

      1.1 接收來自影像輸入模組的資料。

      1.2 傳送已處理之影像資料至檔案寫入模組。

      1.3 接收來自參數模組織參數決定處理方式,處理動作於接收來自參數模組之訊息後才開始。

              1.3.1 如參數為0, 將每一影像pixel亮度加上20

              1.3.2 如參數為1, 將每一影像pixel亮度加上20

              1.3.3 如參數為2, 將每一影像pixel亮度取sqrt後乘以16

              1.3.4 如參數為3, 將每一影像pixel亮度平方後除以256

      1.4 通知影像輸入模組可以再輸入下一張影像

2. 影像輸入模組,此為模組二,其工作如下:

     2.1 主動輸入一張以YUV格式的影像,檔名由使用者輸入。

     2.2  顯示此一影像

     2.3  通知模組一來接收影像。

     2.4  接收模組一的訊息以示可以處理下一張影像。

3. 檔案寫入模組,此為模組三,其工作如下:

      3.1 接收來自8051處理後的影像資料。

      3.2 根據使用者輸入之檔名寫檔。

      3.3 顯示接收之影像

4. 參數模組,此為模組四,其工作如下:

     4.1 使用者輸入處理參數

      4.2 通知模組一接收參數並開始處理。

在此,不限定模組織間的溝通通道之實作方式,但是,如果以

1. 一個統一的匯流排(Bus)的方式實做(也就是另外設計Bus為模組五),加學期總分三分。

2. 如果定出Bus 的協定(含Timing Diagram)並實做出Cycle Accurate (CA)的Bus模組,再加學期總分五分。

以上加分機制實施後,以總分為99分為成績上現。

期末作業需含完整報告,並附執行檔,將視報告完整度酌量增加評分。如果只有程式以及可執行之執行檔,將只有期末作業50%的分數。

   期末Project期限為11:59:59PM, 1/24, 2011,不再展延。如之前有作業要補交,也請以之為期限,但成績以乘以0.7計。成績將於11:59:59AM, 1/26, 2011公佈在系辦公室公布欄,如有疑義,請在4PM, 1/26, 2011前向助教詢問是否有登記錯誤,之後將不再接受更改。

-------------------------------------------

2010/12/20

這是SystemC有關Ports的部分.

請在這裡下載: Ports

有關SystemC Communication的更詳細解說請見: SystemCBook

---------------------------------------------

2010/12/17

有關8051的簡介以及工具

請在這裡下載: SCREAM 805,  its toolchain and FPGA Emulator

----------------------------------------------

2010/12/15

豪文學長說上星期竟然沒有人把8051 Simulator灌起來,所以實在不知道大家的問題是什麼,請大家趕快動作,因為這個作業最困難之處在於環境的設定。程式倒還是其次。

以下是作業要完成的。

1. 使用 8051 ESL/SystemC Simulator,請先在上面跑一個簡單的程式,然後使用GDB來debug。簡易程式如下:

    main(){

         int i,k,j;

         k=1000;

         j=1000;

         for(i=0:i<k;i++) j- -;

    }

   請觀察j的值是否對了。請注意,要知道j有沒有算對,除了用GDB之外,還可以有什麼方法呢?

2. 使用學長提供的8051環境。學長已經提供了一個範例,那是用一個8051以外的Module與8051之間進行溝通。 請改寫此一範例,將上述程式的迴圈數改變。也就是k的內含值。此一外掛模組的功能是自鍵盤輸入一整數,再將此一數字傳到8051模組已更改回圈數。

3. 請增加一個模組,將8051計算的每一個j的值傳過去,然後寫入一個檔案。

4. 更改8051之程式,讓它可以接受多次的外部回圈數的設定,並保持第3部分之寫檔功能,直到輸入迴圈數為-1為止。

-----------------------------------------------

2010/12/8

這是SystemC有關Channels的討論與作法

請在這裡下載: Channels

------------------------------------------------



2010/11/17

這是SystemC有關Concurrency的討論與作法.

請在這裡下載: Concurrency

------------------------------------------------

2010/11/16

這是SystemC有關SC_THREAD與AC_METHOD大致的實作方式與範例.

請在這裡下載: Thread and Method

2010/11/3

這是SystemC有關Main Function以及Module Function的宣告以及大致的實作方式與範例.

請在這裡下載: Structure: Main and Module

----------------------------------------------------------

2010/11/3

這是有關解釋SystemC如何根據時序(Timing)來進行模擬, 因為所有硬體系統都需要跟時序相關的.

請在這裡下載: Timing

-------------------------------------------------------------------

2010/11/3

這是有關解釋SystemC的資料型態.

請在這裡下載: Data Types

_____________________________________________________

2010/10/21

這次的投影片是講解更多的範例以便讓同學多了解SystemC的寫法,這個投影片也是一般SCREAM Lab的自己內部訓練用的簡易型資料,在此同時也規定了第二次的作業。



請在此下載: System Beginners

------------------------------------------------

2010/10/19

對不起,借一下版面,今年的專題指導名單為:

1. 李柏毅

2. 陳政澤

3. 陳奇鴻

4. 林俊緯

假如前面四位有人改變心意的話,那麼

5. 柯旻漢

對不起,耽擱大家。並向沒抽到的說聲抱歉。

-------------------------------------------------

2010/10/11

這上星期,我們對ESL的重要性做了一點簡單的介紹,為了讓課程的主要進度可以快一點,所以我要先介紹一點SystemC,此一目前的ESL標準程式語言,等大家做了第一個SystemC作業後,再回頭來講ESL的其他觀念。

以下是SystemC的Overview: SystemC Overview

HelloWorld程式範例如下: SystemC HelloWorld Example

範例程式請在這裡下載: SystemC Overview Program Example

-------------------------------------------------

2010/10/6

作業上傳位址:

ip : 140.116.82.184
port : 21
user:eslcourse
password: scream

--------------------------------------------------

2010/10/5

這學期,我把上課順序調整一下,先講一點ESL的觀念,然後上SystemC的入門,再回來講完ESL。然後再上其他的課程。

這樣做的用意是8051在其他課程已經再上了,我等一下子再上,其用意只是在於補充一點資料以及我的實驗室所在用的 與8051有關的ESL工具。這是有關ESL的整體的概念性簡介:

Basics of ESL Design and Modeling

第二回上課投影片在此下載: ESL Basics

未來的Topics包含:

SystemC coding and simulation

Review of Verilog coding and simulation

SCREAM8051 and its Toolchain

OpenESL

Heterogeneous Simulation Environment

Simple SoC Design, Modeling and Simulation

HW and Grading: 五個, 分別練習 C++/Threads, 8051 coding, Verilog coding, SystemC coding

Term project: Simple SoC Modeling and Simulation Using 8051/ModelSim/SystemC/Verilog

HW(60%)+Project(40%). 如期末作業未交或兩個作業(或以上)未交則不及格. 作業必須要能正常執行, 否則視同未交.

課程資料:

主要上課資料: 線上投影片(PDF  格式)

參考資料: 1. SCREAM Lab Blog

               2. SCREAM Lab Open Source Blog

               3. SystemC From the Ground

               4. The Guide to SystemC

助教的Email: ProdigyJerry@gmail.com

假如你們還對此一topic想有進一步的了解, 可以Google以下的關鍵字。

1. SystemC Simulation Kernel

2. Advanced OpenESL tool development

3. TLM2.X

4. ARM Processor ESL Model

5. Multi-core Virtual Model

6. Multi-core Programming on Virtual Model

7. Multi-core application programming using CUDA

8. Debugging tool for microprocessors

 

---------------------------------------------------

我一直覺得SoC設計應該要由資訊系的學生來做才恰當, 但是資訊系的學生一向怕硬體, 為了破除這個問題, 我在2009的下學期的大學部開一門選修課, 課名如標題. 英文標題是:

Introduction to Programming and Tools of Electronic System Level (ESL) Design

我寫了第一階段的投影片, 用意在簡介一下ESL的設計觀念. 如下:

Electronic System Level Design Basics

上面投影片的內容還會再更新,但是可以供大家參考。

因為是大學部的課, 一些基本的東西還是要含蓋一下, 我又不想把課弄得講太多ESL, 可是實務卻做的少. 所以我計劃有一章是基本工具與知識的介紹, 以便在實做term project或Homework時可以用到. 以下是幾個重要的Topics:

1. C++ Basics

2. Threads

3. Processes

4. Verilog HDL Basics and Logic Design

5. HDL Simulator and FPGA

6. SCREAM 8051 and toolchain

7. SCREAM OpenESL

8. Computer Architecture Basics

這一些Topics本來有些是同學在其他課程當中就修過了的,但是假如您覺得自己還不夠清楚,請自己加強一下,老師只負責簡單介紹。

這學期的上課資料多半會跟去年的類似,但是我會在做一些資料的修正與補充。而由於8051的部分,我們的工具經過一年的修正,加上專題學長的努力,bugs已經少很多了,也就是期末的作業會進行得更順暢,在此向上一屆的同學說抱歉,也向負責的學長說謝謝。

最後,我發現同學對微處理機與計算機組織的支是還太弱,這是硬體系統設計的基礎,希望同學多自己加強,另外就是8051的使用也是本學期的重點,希望同學在微處理機課程裡多用功。

2010/9/12

以下是第一回的投影片, 是有關C++, Process與Thread.

請在這裡下載: C++, Process與Thread

新版的投影片請在此下載: C++/Process/Thread

10/14要繳交的作業內容在新板投影片裡。

2010年10月13日 星期三

[course] aSLIM applications

20100930 投影片請按此下載

20101006 投影片請按此下載

20101006 aSLIM投影片請按此下載

20101013 投影片請按此下載

2010年8月27日 星期五

2010 SCREAM Lab Summer Training Courses

今年規畫的比較晚,大概是因為我生了一場病,之後也比較疏懶一點,不過這傳統還是不希望斷掉。今年的訓練課程偏重實際,但是多增加一點練習,請講師多費心,下學期的多核心課程裡,我希望是這些課程裡部分的延續。

 

9/6 AM: Verilog 講師: 哲榮

9/6 PM: Verilog LAB and ModelSim 講師: 哲榮

9/7 AM: SMIMS FPGA SDK and FPGA Lab 講師: 巴菲特

9/7 PM: SCREAM Lab Multicore Platform/Emulator Programming Front End 講師: 威佐

9/8 AM: Android/QEMU/Cracking HTC Desire  講師: 塞公; SLIM/aSLIM programming 講師: 易聰

9/8 PM: SLIM/aSLIM Lab 講師: 塞公

9/9 AM: SMIMS Android/QEMU/FPGA 講師:君宇

9/9 PM: SMIMS Android/QEMU/FPGA Lab 講師:格銘

9/10 AM: SystemC/OpenESL/Eclipse 講師: 威佐

9/10 PM: SystemC/OpenESL/Eclipse Lab 講師: ruru

 

請Lab的講師出Lab所需的練習題目並提供解答,請Senior學長協助Junior學弟製作課程投影片。

請在9/5以前上傳投影片。投影片請各自開主題,並註明年分,作者,以及分類。並在串裡附上摘要。

2010年1月20日 星期三

2010寒假training course

目前LAB training course 時間為2/1~2/5 共計5天 早上9點開始

請碩0新生務必出席 專題生做相關領域的也請出席

也請講者 AAA學長 宗胤學長 塞公學長 嚕嚕帥哥

將課程投影片及相關文件上傳上來

課程設計部份

FPGA 2/1~2/2(一~二)講者 SCAAA 2/2 4282 2/3 4285
SLIM 2/3(三) 講者 塞公 4282
SYSTEMC 2/4(四) 講者 嚕嚕 4282
ANDROID 2/5(五) 講者 宗胤 4285

也歡迎其他有興趣的可以來聽

2010年1月18日 星期一

系統層級程式設計簡介與實做

1/18, 2010

由於學長在期末作業的tool kits上出了一點小問題, 所以必須延遲kit的上傳時間. 老師在此感到十二萬分的抱歉, 讓大家無法早一點回家放假.  不過為了讓大家的學習可以有一個比較完美的成果, 還是請大家勉為其難一下.

Kit預計在星期三(1/20)上傳. 星期四(1/21)學長會在4263等各位並且做詳細的說明. 原則上, 假如會正確使用套件以及之前的作業都做好了, 那摸應該只需要2~3天就可以完成了.

無論如何, 這是我們的疏失, 所以作業繳交期限延至1/2/2010.

---------------------------------------------------

1/8, 2010

期末作業注意事項請在這裡下載: Final Project

由於期末作業套件準備不及, 作業繳交時間延後至1/25晚上12點. 請隨時注意套件上傳的資訊.

過去第四與第五個作業還沒交的組, 可以在1/25前繳交. 已經按時繳交的組該作業加5分.

---------------------------------------------------



1/4/2010

這是關於Ports/Interfaces的最後的一次投影片, 我引用參考資料裡對階層式通道的例子, 這是要進入實做比較複雜的介面, 如AMBA或者是晶片內網路(NOC- Network on Chip)等的時候你所必須採取的方法.

這也是這學期最後的一份投影片, 我把它跟Ports放在一起. 我在之後會將這學期所有的投影片再做一次總整理, 並且會有一份附帶的講義, 預期在半年後放上來, 請各位同學到時候來下載.

請在這裡下載: Hierarchical Channel

最後提醒各位, 期末作業的套件講解是1/7, 請務必來上課.

最後祝大家學習愉快與順利, 也希望這個課程對大家的未來有所幫助, 更希望有更多資訊系同學能投入到這個領域的研究, 假如我上課有不周全的地方, 請大家到這裡留言, 我會想辦法改進, 這樣對以後來修課的同學會更有幫助.

-------------------------------------------------



12/31

這是SystemC有關Ports的部分. 這次先上傳一部分.

請在這裡下載: Ports

--------------------------------------------------

12/28

有許多同學在問第五個作業是什麼, 我記得我在課堂上講很多次了.  就是

第四個作業用OpenESL的Command Line模式再做一遍, 用意在讓各位熟悉ESL工具.

--------------------------------------------------



12/8

這是SystemC有關Communication的部分. 目前完成的部分是Primitive Channels的部分, 其他的會在之後上課前放上來.

本周的作業是將此次投影片裡有關sc_semaphore的範例的其中一個master module改成用method來實做. 請在12/24前繳交.

這一周除了上SystemC之外, 另外要請同學開始試用實驗室宗胤學長開發的8051 SystemC Simulator. 下周品皓學長也會把對應的GDB也做好. 這是期末作業的最重要的元件之一, 請同學一定要熟悉.

下周會請哲榮上OpenESL的使用, 請同學下載試用. 請在Windows XP或Linux環境下使用.

請在這裡下載: Communication Channel

---------------------------------------------------

12/1

這是SystemC有關Thread與Method更進一步的介紹, 不過也因為還沒完全寫好, 只算是完成70%, 請見諒.

請在這裡下載: Thread and Method

----------------------------------------------------------

12/1

這是SystemC有關Concurrency, 不過因為還沒完全寫好, 只算是完成70%, 請見諒.

請在這裡下載: Concurrency



----------------------------------------------------------

11/25

這是SystemC有關Main Function以及Module Function的宣告以及大致的實作方式與範例.

請在這裡下載: Structure: Main and Module

----------------------------------------------------------

11/25

這是一份 SystemC的Overview, 講一些有關SystemC的基本概念與元件是開發觀念. 有Example提供大家參考.

請在這裡下載: SystemC Overview

範例程式請在這裡下載: SystemC Overview Program Example

---------------------------------------------------------

11/24

這是有關解釋SystemC如何根據時序(Timing)來進行模擬, 因為所有硬體系統都需要跟時序相關的.

請在這裡下載: Timing

-------------------------------------------------------------------

11/24

這是有關解釋SystemC的資料型態.

請在這裡下載: Data Types

----------------------------------------------------------

11/23

這是OpenESL的投影片, 主要是說明SCREAM Lab所開發的ESL 整合設計環境(IDE)的使用方式.

請在這裡下載: OpenESL

-------------------------------------------------------

11/23

這是SystemC的安裝教學.

請在這裡下載: Installing SystemC

--------------------------------------------------------

11/22

這是簡單的Verilog與Logic Design教學以及ModelSim的用法.

請在這裡下載這三份檔案:

 Using ModelSim

Basic Logic Design

Verilog Basics

--------------------------------------------------------

10/6, 2009

這是第五回的投影片, 是有關SystemC的概念性簡介:

For SystemC Beginners

請在這裡下載: SystemC Beginners

----------------------------------------------------------

9/29, 2009

這是第四回的投影片, 是有關ESL的整體的概念性簡介:

Basics of ESL Design and Modeling

請在這裡下載: ESL Basics

----------------------------------------------------------

9/24

這是第二回的投影片, 是有關8051的簡介以及工具

請在這裡下載: SCREAM 805,  its toolchain and FPGA Emulator

未來的Topics包含:

Review of Verilog coding and simulation

Basics of ESL Design and Modeling

SystemC coding and simulation

OpenESL

Heterogeneous Simulation Environment

Simple SoC Design, Modeling and Simulation

HW and Grading: 五個, 分別練習 C++/Threads, 8051 coding, Verilog coding, SystemC coding

Term project: Simple SoC Modeling and Simulation Using 8051/ModelSim/SystemC

HW(60%)+Project(40%). 如期末作業未交或兩個作業(或以上)未交則不及格. 作業必須要能正常執行, 否則視同未交.



課程資料:

主要上課資料: 線上投影片(PDF  格式)

參考資料: 1. SCREAM Lab Blog 

               2. SCREAM Lab Open Source Blog

               3. SystemC From the Ground

               4. The Guide to SystemC

 

假如你們還對此一topic想有進一步的了解, 相關研究所課程的內容如下, 近期會有一個討論串發佈.

Topics:

1. SystemC Simulation Kernel

2. Advanced OpenESL tool development

3. TLM2.X

4. ARM Processor ESL Model

5. Multi-core Virtual Model

6. Multi-core Programming on Virtual Model

7. Multi-core application programming using CUDA

8. Debugging tool for microprocessors

HW and Grading:

1. 10 to 12 presentations

2. 3 projects

如有作業未交或超過3次presentations未準備者則不及格.

課程資料:

主要上課資料: 線上投影片(PDF  格式)

參考資料: 1. SCREAM Lab Blog 

               2. SCREAM Lab Open Source Blog

               3. SystemC From the Ground

               4. The Guide to SystemC

               5. CUDA

               6. TLM

               7. ARM ESL


-------------------------------------------------------

9/22

這是第一回的投影片, 是有關C++, Process與Thread.

請在這裡下載: C++, Process與Thread

---------------------------------------------------------



9/20

ruru: 請將8051 simulator的用法加在品皓底下post的power point裡再傳給我, 請包含如何跟SystemC銜接的方法.  另外我的ESL Basics有幾張圖要畫一下, 我再寄Powerpoint給你.

宗胤:  請將C++/threads/processes的投影片寄給我. 請你寫一份TLM2.0/2.1的投影片. 一月中會用到, 請你12月完成.



--------------------------------------------------------

7/24, 2009

提醒我自己與大家一下, 該上傳了. 我自承有點怠惰, 會趕快把SystemC的部分一點點補上來.

----------------------------------------------------

6/18, 2009

投影片我改成PDF檔, 請指教. 請負責的同學記得在7月底上傳投影片.

--------------------------------------------------

我一直覺得SoC設計應該要由資訊系的學生來做才恰當, 但是資訊系的學生一向怕硬體, 為了破除這個問題, 我預計在下學期的大學部開一門選修課, 課名如標題. 英文標題是:

Introduction to Programming and Tools of Electronic System Level (ESL) Design

我寫了第一階段的投影片, 用意在簡介一下ESL的設計觀念. 如下:

Electronic System Level Design Basics

因為是大學部的課, 一些基本的東西還是要含蓋一下, 我又不想把課弄得講太多ESL, 可是實務卻做的少. 所以我計劃有一章是基本工具與知識的介紹, 以便在實做term project或Homework時可以用到. 我把可能需要介紹的東西以及要負責寫的同學條列如下:

1. C++ Basics: Gary

2. Threads: 塞公

3. Processes: 塞公

4. Verilog HDL Basics and Logic Design: ruru

5. HDL Simulator and FPGA: ruru

6. SCREAM 8051 and toolchain: 品皓

7. SCREAM OpenESL: 小龍

8. Computer Architecture Basics: 品皓

這一部分是:



All programming skills you need to know to master SystemC and learn ESL design together with some useful information

請各位就一個不是懂太多的大學部學生為準則, 盡量寫得讓他們看得懂. 順便幫他們複習一下他們過去學過的, 但是對這門課重要的部分. 不過請不要copy你過去學過的書或講義, 務必是你消化後再寫出來的東西比較好.

接下來我會寫SystemC的部分以及請Gary寫一章TLM2.0的部分. 至於OCP與AMBA, 我還在考慮要不要放進來, 但是還是請ruru準備, 反正都是要寫的.

以上請各位有空可以開始寫了, 我希望大家在七月底可以完成四個Chapters的powerpoint, 並且開始寫書的部分.

以上請各位學長與學姐指教, 如能自願幫忙, 感激不盡.

2009年10月12日 星期一

Special Topic on ESL and Multi-core Tool Design

Syllabus

1. SystemC Simulation Kernel
2. Advanced OpenESL tool development
3. TLM2.X
4. ARM Processor ESL Model
5. Multi-core Virtual Model
6. Multi-core Programming on Virtual Model
7. Multi-core application programming using CUDA
8. Debugging tool for microprocessors

09/23 - 10/07

大鈞陳大鈞_投影片.rar
阿凡EM_for_GMM_on_CUDA.ppt
宗胤8051 SystemC Model.pptx
8051 ISS Implement in SystemC.pptx
品皓gdb_for_8051_品皓.ppt
塞公Memory Locality Exploitation Strategies for FFT on the CUDA Architecture.pptx
rurusystemC kernel.pptx
小聽Course_進度_090923.pptx
Course_進度_090930.pptx
Course_進度_091007.pptx
龍哥Arm9 Cpu.pptx

2009年7月3日 星期五

2009 Summer SCREAM Lab Training Courses

請各位講師將Training courses的投影片放在這裡. 請盡量用英文, 也請在這裡簡單寫一下你的摘要, 不要只是把投影片放上來而已.多謝!

講師試講就由星期一(7/6)開始.

7/6 AM/PM: C++/threads/processes and SystemC

7/7 AM/PM: SystemC/OpenESL and SLIM/OpenMax

7/8 AM/PM: Eclipse/cuda

除投影片外, 請將當天的Lab以及之後的作業也要準備好. 上完課之後的作業要出六題, 碩0同學每人一題, 因為有三類, 所以每人共三題, 預計在暑假結束前完成. 講師要負責輔導同學把作業做出來並協助驗證其功能.

2009年6月18日 星期四

2009 訊號與系統

這是Signals and Systems 課程第一章的投影片, 字跡潦草, 請大家見諒. 我找到時間後會把它整理整齊.

投影片PDF在此.

投影片PPT在此.

因為第一章已經上完了, 請助教可以開始整理一下此一power point檔案了. 整理完請傳給我一下

第二章講的是連續性訊號的一些基本操作. 基本上請大家把訊號看成函數就好. 請多注意他在時間軸上的轉換, 這不是用來刁難大家的, 以後許多定理以及應用會需要他們的. 還有就是注意一下系統的定義以及基本的系統怎麼由其block diagram算出他的transfer function或system equations.

最後提醒大家多去了解與注意impulse function. 這個defined by property的函數對未來是很重要的.

第二章的PPT在此.

第三章的用意在於了解各式的系統表示方法以及利用Transfer function來簡化對Complex Exponential Input的解法. 請多注意不同表示法之間的異同.

第三章的PPT在此.

第四章從Fourier Series著手, 以便將來進入Fourier Transform. 請多注意Linear Algebra的一些基本概念, 如內積, Basis, Orthogonal,...., 等觀念.

第四章的PPT在此.

第五章進入Fourier Transform, 其實跟Fourier Series沒差太多, 但是把Periodic的限制拿掉了. 這樣對訊號分析來說理論上更完整了.

第五章的PPT在此.

2009年3月5日 星期四

多媒體專論課程-論文

我找了五篇論文,其中有一篇張數較少但數學很多,篇名分別是:

  • A Novel Pitch Period Detection Algorithm Based on Hilbert-Huang Transform, 2004
  • Use of Temporal Information: Detection of Periodicity, Aperiodicity, and Pitch in Speech, 2005
  • Speech pitch determination based on Hilbert-Huang transform, 2005
  • A comparison study of improved Hilbert–Huang transform and wavelet transform: Application to fault diagnosis for rolling bearing, 2005
  • A COMPARISON OF DIFFERENTIAL  SCHEMES FOR LOW-RATE SINUSOIDAL AUDIO CODING, 2003

這裡下載。

冠廷提供的paper:

  • AUDIO-BASED COVER SONG RETRIEVAL USING APPROXIMATE CHORD SEQUENCES: TESTING SHIFTS, GAPS, SWAPS AND BEATS
  • ALGORITHMS FOR POLYPHONIC MUSIC RETRIEVAL: THE HAUSDORFF METRIC AND GEOMETRIC HASHING
  • CONTENT-BASED MUSICAL SIMILARITY COMPUTATION USING THE HIERARCHICAL DIRICHLET PROCESS

這裡下載。

文森提供的paper:

  • A model-based approach to partial tracking for musical transcription
  • A Partial Searching Algorithm and Its Application for Polyphonic Music Transcription
  • BINAURAL PARTIAL TRACKING
  • Enhancing the Tracking of Partials for the Sinusoidal Modeling of Polyphonic Sounds
  • IMPROVED HIDDEN MARKOV MODEL PARTIAL TRACKING THROUGH TIME-FREQUENCY ANALYSIS
  • Networks of Adaptive Oscillators for Partial Tracking and Transcription of Music Recordings

這裡下載。

20090305

今天三人報的paper分別是:

showmin: Speech pitch determination based on Hilbert-Huang transform

cent: Enhancing the Tracking of Partials for the Sinusoidal Modeling of Polyphonic Sounds

冠廷: A TEXT RETRIEVAL APPROACH TO CONTENT-BASED AUDIO RETRIEVAL (下載)

2009年2月13日 星期五

2009/2 Training course: Cell Programming

這幾天有學弟問我的問題,我稍做整理
1.
問:假如 SPU3 要用mfc_put 把資料丟給SPU4,
我再SPU3裡面這樣寫,
mfc_put(&myps , XXX , sizeof(my_class) , TAG , 0,0);
XXX要放SPU4的 (local store位址) + (變數位址)
我知道local store的位址從problem state可以得到
可是我再SPU3裡面要怎麼抓到SPU4的變數位址呢?
答: 對,這是一個問題,所以你必須在SPU4的code加入"告訴SPU3 它該放在我的Local Store的哪一個address"意思就是你應該在SPU4的Local Store開一個一模一樣的變數,然後用mailbox或signal告訴SPU3這個變數的addr, 叫SPU3將資料傳到這個addr

2.
問:while(spe_out_mbox_status(spe_id[0])==0);
這段code的意思是說SPU0如果他的outbound傳輸是傳給SPU0的話,
就會一直被這個while 迴圈block住嗎?
答:其實是可以直接使用spe_out_mbox_read(),但是有時會出錯,為什麼呢?因為ppe去讀spe的outbound-mailbox是"non-blocking"。所以有可能spe根本還沒把資料寫到out-bound mailbox,但是你卻跑去讀了,所以會得到錯的值。為了預防這樣的錯誤發生,所以我們要去看out-bound mailbox的status,當status的值不是0的時候,代表有資料進來了。而因為你去讀status也是non-blocking,所以要用while loop一直去偵測,直到它不為零。

3.
問:Fenced and Barrier Command
Fenced command: mfc_putfBarrier command: mfc_putb
在每一個SPE當中,會有一個DMA queue,所有要做DMA的command,都會進到這個Queue當中等待執行。但是先送進去DMA不一定會先執行。如果資料送出的先後順序對我們來說是有意義的,但我們又不想要每送一筆就blocking的在等待,所以我們就必須以fenced和barrier command來幫忙將想要資料送出。
於是我們將想要依序的資料用相同的標籤(TAG)標記,然後使用barrier/fencedcommand 將資料送出。
barrier:跟我同樣TAG的DMA指令,比我早進來DMA Queue的指令先做完,才會輪到我做。fenced:跟我同樣TAG的DMA指令,比我早進來DMA Queue的指令先做完,比我後進來指令也可能會先執行,之後再輪到fenced指令去做。

2009年2月11日 星期三

2009/2 Training Course

請 Speakers儘快上傳你的講稿資料

2/9 SystemC - DNA

2/10 SystemC - DNA

2/11 SLIM - 宗胤

2/12 Cell - bbb

2/13 Eclipse - 宗胤、阿凡

上面是Training Course課表

地點皆在4285,時間 9:00~12:00、14:00~17:00

基本上皆是早上講課,下午則是一些實作練習

歡迎各位來參加

另外請主講人在2/6前上傳投影片等資料


資料下載:

SystemC & TLM

SLIM Slide SLIM Source 作業注意事項

Cell Slide Example Source 作業(有修正請重新下載)

Eclipse Slide Example

GEF Slide Lab

2008年12月4日 星期四

[Course] Computer Music - AL Bridge Program

今天上課的投影片跟第一版程式已上傳,歡迎下載服用。

Download:  PDF , Slim Code

如之後有更新,會再重置這條thread的時間以通知大家。

2008年11月6日 星期四

2008_11_6電腦音樂與音訊處理課程_MPEG Audio Coder簡介

這幾周的課我會講有關MPEG Audio Coder的基本概念, 內容涵蓋MP3到HE-AAC. 不過投影片包含太多東西, 連File Format都有, 所以我會skip一些這類跟演算法無關的部分. 這份資料是我2007年在光寶科技所做的talk. 希望同學對於傳統與現在的主流音訊編碼技術可以有一個深入淺出的認識.

感謝當初維城, 小鄔與其偉的幫忙, 完成這一份資料.



這是完整的投影片