Try   HackMD

2021下三段日記

tags: 日記 生活
最後更新時間 : 2022/09/02

目錄

日期 概述
12/06(一) 電磁的互感、自感
12/07(二) 電子三的PSRR
12/08(三) 電子的實際放大器與等效電路模型
12/09(四) 單晶片的多線程概念
12/10(五) 吃導生聚
12/11(六) 電子的MOSFET基本原理與cascode
12/12(日) 寫電子三的考古
12/13(一) 讀電子學三
12/14(二) 電子三二段
12/15(三) 單晶片專題的後場人員或廚師的OLED介面
12/16(四) 單晶片專題的車體確定
12/17(五) 單晶片專題的報告草稿
12/18(六) 通原的mixing與image frequency
12/19(日) 單晶片的ESP32與mega板子藍芽連線
12/20(一) 電子三的PSPICE作業
12/21(二) 電子三的butterworth filter
12/22(三) 單晶片專題的秤重模組與RFID
12/23(四) 單晶片專題的確認循跡軌道
12/24(五) 寫平顯作業二
12/25(六) 通原的single-tone FM
12/26(日) 通原的FM(單頻率與多頻率)的頻寬
12/27(一) 單晶片專題的ESP32和Mega2560、heroku的server要如何傳輸
12/28(二) 電子三一階二階濾波電路實踐
12/29(三) 通原的機率函數、變異數、correlation coefficient
12/30(四) 單晶片專題的點餐流程大致完成
12/31(五) 單晶片專題的GPS模組與語音服務
01/01(六) 通原的隨機程序的自相關函數、自共變函數
01/02(日) 通原的ergodic、PSD、SNR
01/03(一) 通訊原理期末考
01/04(二) 電子三的antoniou電感模擬電路
01/05(三) 單晶片專題的循跡車體與車上模組整合
01/06(四) 複習平顯、電儀表作業
01/07(五) 平顯、電儀表考試
01/08(六) 單晶片專題的車子行進、車上模組、後端整合
01/09(日) 電子三的KHN biquad與Tow-Thomas biquad
01/10(一) 電子三複習一二階filter
01/11(二) 電子三三段
01/12(三) 單晶片專題的完成所有整合
01/13(四) 單晶片專題的實際demo
01/14(五) 看平顯成績
01/15(六) 搬離宿舍回潮州住
01/16(日) 補日記
2021下三段總結 通原的機率與統計與隨機程序、電子三的filter設計流程、完成單晶片專題

12/06(一)

進度

  • 子路實驗的輸出級
  • 電磁的互感、自感

心得

子路實驗做class B輸出級,雖然解決class A的靜態電流耗能的缺點,但在輸入電壓小於

Vt時,BJT/MOSFET不導通,會有一段deadband,造成crossover distortion。
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

因此才有class AB輸出級,藉由電路增加輸入電壓offset,使輸出級沒有失真的狀況。在class AB實驗中,改變

RB1=10Ω,會造成負半周的波型被截斷,推測一顆BJT一直不導通,不過我分析電路的能力很差,這方面需要去刷smith後面的題目補救。

接下來lab11是做Schmitt trigger電路,電路照著教材上接,debug很久還是檢查不出來哪裡有問題,輸出的波型一直是正弦波,拖到5點,整個實驗室只剩我們這組,最後直接放棄,好險帶我們實驗室的助教很佛,他們說自己都搞不清楚這實驗了,自然不會要求我們,聽到其他班是郭泰豪助教帶的實驗課,每次做實驗都會要求每個人各自做、要求數據準確性、結報要分析電路並使用latex打完整計算過程那才叫硬,我是覺得好好讀好smith,比起花時間打這些結報還來的有意義。


晚上把電磁的互感與自感讀完,感覺這方面需要結合後面的法拉第定律比較能理解,反正我先了解定義。

互感解題流程為

  1. 找到合適的座標系統
  2. 假設電流
  3. 透過Biot-Savart's或Ampere's law求磁通量
    B
  4. 線圈A電流產生的磁通量,通過線圈B的面積
    Φ12=C2B1dS2
  5. 求電感值
    L12=d(Λ12)dI1=d(N2Φ12)dI1

久違地把PSPICE載回來,要做電子三作業,很麻煩的是元件參數都沒給,要自己去設計一個他所指定規格的二級放大器,我先把電路和環境搞好。需要注意元件都在

{installed path}\tools\pspice\library

跑模擬時Simulation Settings->Configuration Files,需要指定如上的Library Path


12/07(二)

進度

  • 電子三的PSRR

心得

電子三講新的參數PSRR(power supply rejection ratio),衡量輸入電源

VDD
VSS
的改變對輸出訊號的影響
PSRR+AdA+A+VoVddPSRRAdAAVoVss
從結論看,越大的通道長度
L
可以提高增益、CMRR、PSRR這些"靜態"的參數,但同會讓transition frequency
fT
、slew rate(SR)"動態"參數變差,就是設計上的trade-off,視要設計電路功能而定。之後又講了一個bias電路與folded-cascode op amp,分析電路的設計巧思與計算相關參數。

晚上讀電磁,雖然今天感覺沒做什麼事情,不過我好累,明天再讀。


12/08(三)

進度

  • 電磁的磁能
  • 電子的實際放大器與等效電路模型

心得

下午裝Vitrual Box虛擬機,參考影片教學調好1980*1080的全螢幕顯示,不過虛擬機卡卡的,不知道問題在哪裡。再來讀電磁的磁能整理如下表

X 電能 磁能
從電路求能量
We=12CV2=12QV=Q22C
Wm=12LI2=12ϕI=ϕ22L
從場求能量
We=V12DE=V12ϵE2dV
Wm=V12BH=V121μB2dV 

因此有別於12/03(一)從基本定義

L=NϕI求自感,另一種解題思路是先求磁場、磁能,再回推自感值。
CBd=μ0IinWe=V121μB2dV=12LI2


晚上重讀電子學,實際放大器會遇到以下問題

  • saturation - 超過小於供給電壓的量,訊號會被切斷。
  • nonlinear轉移特性 - 工程上我們都喜歡"線性",因為放大不會造成distortion(失真)。
  • DC bias - 除了要放大的AC訊號以外,還需要在電路上加上DC電壓,使得放大時在operating point運作,在小範圍的linear區間,放大器才能正常工作。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

做一個線性電路模型,放大器就是線性電路的特解,禁止返回的轉移量,以此推導出放大器的電路模型。


12/09(四)

進度

  • 單晶片的多線程概念

心得

這次單晶片只有3個lab而已,我也順便在今天就打完結報,學習創建新的thread與用signal(用來告知process有一個event發生)去觸發指定的thread運作。不過關於作業系統相關的知識,我一知半解,之後或許可以研究一下OS處理的機制。


12/10(五)

進度

  • 吃導生聚
  • 千戀萬花的茉子線

心得

早上電儀表講eye diagram是用來方便判別切換時抖動(jitter),當訊號穩定時才會在該區間取值,不知道為什麼就開始講到傳輸線,由於電磁波在無界空間傳輸效率差,需要有引導裝置,並計算在有損傳輸線,但電磁波的反射係數,在阻抗匹配的情況下,就不會有反射的情況。

平顯講到儲存電容連接至掃描線的設計,不過這部分上課都聽不懂。晚上導生聚去吃陶板屋,我是沒加任何活動的系邊,沒什麼認識的人,我們這邊也都是不認識的,只是簡單聊一下選課,聽到旁邊桌在聊一些老師和課程的八卦就加減聽一下。


禮拜五晚上的我有些鬆懈的,沒什麼心情就打開千戀萬花,共同線劇情全破了,祓除崇神收集碎片解開詛咒,之後進入茉子線,在跟芳乃確認完彼此沒有男女的心意之後,每晚送茉子回家,慢慢了解茉子的事情。常陸家代代服侍朝武家,茉子平常都在服侍芳乃根本沒有自己的生活,慢慢地看著茉子能有自己的生活,找到自己喜歡的事情,我內心是非常欣慰的。到最後告白時,茉子自卑驅使說自己不是故事的女主角,不夠配我,但對我來說,我也是被女主角芳乃拒絕的男配角啊,在我們故事裡,茉子就是我唯一的女主角。之後的生活,發現茉子真的是一個很色的女生,因為一開始我們還不敢愛愛,茉子每晚都會偷偷自己解決,吵到睡在她旁邊的芳乃,自己還沒察覺到,芳乃和茉子的反應,真的有夠好笑,也超可愛的。


12/11(六)

進度

  • 電子的MOSFET基本原理與cascode

心得

感覺每次睡醒都在耍廢,等到下午罪惡感油然而生,才開始讀書,晚上進度沒達標,就會熬夜,隔天早上又睡掉,就好像正回授系統一樣,是一個不穩定的系統。

讀電子三教授的授課講義,這次要考輸出級和運算放大器,也複習電子一二很基本但我忘記或是沒讀好的東西。

  • MOSFET基本原理
    OCW 26 : 14,加大

    VGS直到
    VGSVt
    從cut-off區到triode區電子通道剛形成;再加大
    VDS
    ,直到
    VDSVGSVt=VOV
    ,從triode區到saturation區通道會"被捏到幾乎沒有",稱為pinch off,再繼續加大
    VDS
    ,通道會往前面移一點點,但形狀(參雜)幾乎沒有改變,所有新加的跨壓會全部跨在通道到drain端,因此電流不會改變。

  • channel length modulation參考那張圖,

    ro=VAID

組態 增益 輸入阻抗 輸出阻抗 轉換
理想CS
Av=gmr0
transconductance
理想CG
Ai=1
0
current follower
理想CD
Av=1
0
voltage follower
  • cascode
    假設M1在最下面,M2在M1上面,看進去的電阻為
    Ron=ro2+(1+gm2ro2)ro1gm2ro2ro1
    。由於cascode上下各2個MOS會吃掉2個
    VOV
    。造成AC掃動範圍變小,而有了folded cascode,把一邊NMOS折過來,改成PMOS。

12/12(日)

進度

  • 電子三的二級放大器分析
  • 寫電子三2020考古題

心得


低頻增益
Av=A1A2=gm1(ro2||ro4)gm6(ro5||ro8)

在回授路徑加一個米勒電容

CC,使系統在高頻下不會變成正回授,震盪起來,再加個電阻,把讓系統不穩定的零點移到無限大。

左邊current source使用Widlar current source,使電流只與
RB
k12
有關,增加準確度。


12/13(一)

進度

  • 讀電子學三

心得

最後一堂實驗室做數位CMOS電路,很簡單,所以就提早結束了,真舒服。今天繼續讀電子學,不過有些觀念卡卡的,讀起來不太順,又回去看了電子二的觀念,晚上寫了smith幾題二級放大器的例題。這幾天下來有點鬆散,有不少時間都在睡覺,需要克制一下自己惰性。


12/14(二)

進度

  • 電子三二段
  • 腳踏車被偷、筆電硬碟無法讀取

心得

今天考電子三,第1大題一樣觀念是非選擇,第2大題是class AB輸出級、第3大題是class AB輸出級改良、第4大題是class D無法達到100轉換效率的原因、第5大題是二級放大器的題組,佔56分。

都是教授上課講義的習題變形,不過跟同學討論了一下我覺得我考爆了,尤其是輸出電阻寫錯真的很不應該,心情好煩躁,不知道最後出來是幾分,吃完飯後腳踏車找了快2個小時還是沒找到,我記得我明明都有上鎖的,那台腳踏車看起來很破,應該是沒理由被偷吧,之後筆電D槽無法讀取,我把所有的資料都放那裡,現在我完全不能工作了,今天也太慘。明天要繼續找看看我的腳踏車,也要去台南火車站前站修電腦,等事情處理完,要趕快補通原進度,最近的讀書效率不太好,自己都心不在焉,這樣不是一件好事。


12/15(三)

進度

  • 單晶片專題的後場人員或廚師的OLED介面
  • OS的Mutex與Semaphore

心得

結果昨天以為被偷的腳踏車是停在對面一條街忘記了,腳踏車確實是有鎖,而今天打開電腦,發現D槽可以順利讀取,不過之後還是需要留意一下後續這顆SSD狀況。

延續昨天和組員討論單晶片期末專題,我今天弄了送餐流程最一開始 - 顯示給後場人員或廚師OLED的人機介面。

  • 第1排 - 收到訂單項目。
  • 第2排 - 顧客等待時間。
  • 第3排 - 選單 (取消訂單/確認)。
    利用遊戲搖桿往右下滑並按下,自走車會啟動,並送至指定位置。
  • 第4排 - 動態進度條視覺化顧客等待時間。

接下來打了一下明天lab實作項目,看了周志遠作業系統OCW,多線程要共享資源時需要同步(Process Synchronization),以免線程之間取到的資源不同步,使用Mutex(Mutual Exclusion)去鎖住critical section,確保同一時間內資料只會有單一存取。

而Semaphore算是一個比起Mutex更generalized的機制,本質上是一個計數,紀錄這個critical section可以同時被幾個線程共同執行,因此當數量為1時,代表這個critical section只能被一個線程執行,稱為binary Semaphore,等於前面講的Mutex。


12/16(四)

進度

  • 單晶片專題的實作queue
  • 單晶片專題的車體確定

心得

承昨天做的http server,新增了一些功能,創建一個queue的class與動態配置(直接操作heap區的記憶體),來記錄不斷增加的訂單,在OLED介面上新增未有訂單的車子動畫與按下確認鍵後要倒數計時5秒再發車。這邊有一個很低級的錯誤就是我ESP32開發板接線圖(pinout)看相反了,因此線路接錯,導致按鈕一直無法正確運作,debug很久,到最後終於發現,下次還需要注意一下。

由於我昨天已經有打了六、七成實作內容,所以今天我都丟給我組員研究,我做期末專題,另一方面也是覺得這次實驗題目很惱人,明明就不需要multi-thread要做的內容,硬要用到mutexsemaphore反正認真就輸了,不要浪費再沒意義的事情上面,光是助教都搞太不懂了。


晚上拿到助教以前做專題的機械手臂車,拆解剩下我們需要的車體,輪子使用麥卡納姆輪,可以前後左右平移、繞自身旋轉,真的是一個蠻厲害的輪軸設計,5個紅外線感測IC除了可以循跡之外,我們還將房號編碼成黑白區域,當紅外線感測IC感測到指定的pattern,對應到指定房號,就會停下來。

我使用繪圖軟體illistrator畫圖,需要注意的是影印時,會對原本要印的A4白紙對98%的縮放,因此墨水不會印到邊框,需要進入"影印設定"調,縮放調成"無",但如果邊緣有黑色物體,一樣會留白,這是要保護印表機,因此下一次畫圖要避免畫到邊寬向內延伸4公分以內的範圍。

最後我在ESP32嘗試使用無源蜂鳴器,但與Arduino系列開發板不同的是不支援tone(),今天先使用ESP32上改變PWM頻率的函式ledcWriteNote(channel, frequency),實作當接收到server傳來的訂單時,類似手機響鈴的提醒短暫鈴響,明天再研究可以嘗試使用Arduino Tone for ESP32。此外,還要解決多筆餐點顧客等待時間計算錯誤的bug。


12/17(五)

進度

  • 單晶片專題的報告草稿

心得

今天早上電儀表上示波器與波型產生器,介紹外觀按鈕有甚麼功能與SPEC要怎麼看,但我也不是很懂,之後要刷他給練習題。下午平顯大二各組在報告,我就在打單晶片的報告,又畫了一張示意圖與我們做到的進度。

分工就是我弄車上模組、劉XX弄車子移動循跡、李XX弄後端,下禮拜就各自報自己做到的進度。

晚上把解決多筆餐點顧客等待時間計算錯誤的bug解決,queue多加一個紀錄收到定單的時刻,在enqueue的成員函數加上newNode->waiting_time = millis();即可,並在server多開一個path,把queue遍歷,印出正在排隊的所有訂單,不過有個問題就是網站需要不斷刷新,才會更新資料,這邊可以用ajax或是websocket解決,但是同樣的問題是不懂網頁。

期末專題真的是有夠花時間的,要做出一般網站需要的功能,對我這新手需要花很時間研究,寒假是有時間可以給我慢慢研究,但現在一頭栽下去真的不行,計畫明天把進度停掉,專心讀通原和做電子三作業。


12/18(六)

進度

  • 通原的mixing與image frequency
  • 通原的superheterodyne(超外差) receiver

心得

輸入訊號為

m1(t)=cos(ω1t),想要得到輸出訊號
m1(t)=cos(ω2t)
,利用積化和差推導,得出結論是需要加上一個本地震盪器,頻率為
ωLO=ω1±ω2
,再加上一個中心頻率為
ω2
的BPF(bandpass filter)。

而當輸入訊號為多個頻帶時,做mixing時會造成2個頻帶重疊、互相干擾,因此我們需要找到那個干擾的頻率,即為image frequency

ωin,推導結論是
ωin=ω1+2ω2
,並在mixing之前,用IR(image rejection) filter把image frequency過濾掉。


一個AM接收器,當接收到多個波段的訊號可以用一個可調的channel selection filter去過濾想要的頻率,但由於BPF是可調且Q-factor很大(

Qfactor=centerfreqbandwidth),因此在實務上很難設計。既然bandwidth不能改,就去改center freq,把前面說的IR filter和mixer加進來,其中IR filter和mixer是可調的,而IF filter是不可調的,再加上期中考教的AM demod的envolope detection與DC removal(noncoherent),這個架構就是superheterodyne(超外差) receiver


12/19(日)

進度

  • 單晶片的ESP32與mega板子藍芽連線

心得

中午看了一點通原影片,接下來整個下午到晚上都是單晶片團體討論,我主要完成ESP32與mega板子連線,一開始我用I2C,但發現只能從master傳至slave,而不能從slave傳至master,理論上是可以傳輸,但因為我找不到相關的程式範例,所以使用藍芽傳輸,基本流程大致與單晶片lab6結報 藍芽配對相同,不同點是一開始需要獲取作為slave端的ESP32內建藍芽的地址,而在燒錄後,由於同時運行WIFI和藍芽會造成記憶體爆滿,所以需要修改flash(快閃記憶體)分區表,這邊給程式運行的記憶體我設為最大(3MB),最後把一些demo的流程轉成GIF放在簡報並新增各個板子之間的比較,完成我負責報告的部分。

  • 模組之間的傳輸架構圖
  • ESP32 flash partition table

12/20(一)

進度

  • 電子三的PSPICE作業
  • 系上聖誕節餐會

心得

今天電子電路實驗final project,光罩圖助教已經畫完了,我們只需要曝光、顯影、蝕刻、鑽孔,接下用錫焊接金屬元件,並用示波器測試結果即可,這讓我想到當初大二上修電工實驗也是這樣,時間過得好快。

接下來都是在跑電子三PSPICE模擬,那個作業是要自己設計兩級CMOS運算放大器,但參數全都沒給。我和一位同學討論,從作業要求的SPEC計算個別的

WL,但很麻煩的實際計算值與PSPICE跑出來的值不吻合,到最後實在沒頭緒,都在隨便亂調參數,看會有甚麼變化,最後調到有符合DC gain和unity-gain bandwidth的要求,但phase margin沒過。

今天剛好是系上的聖誕節餐會,去吃一頓免錢的飯,去年這時候我在做計算機組織實驗,沒去吃,今年來體驗一下。


12/21(二)

進度

  • 電子三的PSPICE作業
  • 電子三的butterworth filter

心得

電儀表講示波器,分為DSO和DPO兩種,如Oscilloscope Types,DSO是把觀測到的類比波型轉換數位波型,再交由microprocessor處理,瓶頸在於microprocessor的處理速度,因此有了DPO並行處理可以即時呈現訊號,多了傳統示波器缺少的時間資訊(瞬態變化)。

繼續跑電子三PSPICE模擬,測SR+和SR-過了,但PM沒過,最後只能交,至少3個過還有基本分,晚上我那位電神幫我調,他之前也是測了很久,不過有歸納出一些心得,很快就調出來了- 在第一級model(

M=1)時,其實
L
的影響不大,與我們上課計算的公式有所差異。

電子三講到一個算是很重要的章節 - filter,先介紹filter的SPEC有4個參數

ωp,Amax,ωs,Amin。而講了2個數學式符合在filter要求的範圍。

  • butterworth filter
    初始想法。

    因此transfer function為
    |T(jω)|=11+ϵ2(ωωp)2N

    解題流程為
  1. ϵ=10Amax101
    ϵ
  2. A(ωs)=10log[1+ϵ2(ωωp)2N]Amin
    得最小需要的階數
    N
  3. 畫單位圓,半徑為
    ω0=ωp(1ϵ)1N
  4. 每個pole均分左半平面的單位圓。
  5. 接下來就可決定transfer function
    T(s)=Kω0N(sp1)(sp2)(spN)
  • Chebyshev filter

    找另一個數學式去符合filter的SPEC,與butterworth filter不同點在於雖然他的數學式較複雜,但導通區有ripple,所需階數較少,因此可以用較簡單的電路實現。

今天冬至,晚上我待在系館做單晶片期末專題組員那邊的雜事、打一下日記。今天是15周,目前還有平顯和通原作業待完成,剩4個禮拜這學期就結束了,這段時間要撐過去,不要因此而鬆懈。


12/22(三)

進度

  • 單晶片專題的秤重模組與RFID

心得

今天早上我跟組員約好測HX711,但無法校正,直到找到arduino ESP32 HX711重量感測的範例,才成功測得公克數,準度還蠻高的,Arduino mega板子實際37g,測量值43g;自己的手機redmi note 6 pro實際182g,測量值199g。


另一個模組是RFID,這邊我是使用SPI通訊協定,RFID的tag幾乎都是使用NXP(恩智普)的Mifare,其中內建EEPROM,可對它寫入和讀取數據,例如:停車票卡可紀錄車主的停車時間。這份範例程式可以去修改(可修改的)UID,最後應該就剩要熟悉wav, mp3解碼器的函式庫了,還有把所有模組整合起來,完成送餐時的交易流程,就完成我負責"車上模組"的內容。


12/23(四)

進度

  • 單晶片專題的進度報告
  • 單晶片專題的確認循跡軌道

心得

下午單晶片進度報告,我口條實在沒有很好,一些想要講的東西也沒講到,都是簡單帶過。教授們的回應老實說有些都是為了說而說,像是說我不要放亂亂的模組實體接線圖,然後換到下一組報告,又叫那組的人要學我們這組放實際上做出來模組與線路圖,讓人無所適從,摸不透教授真的想看什麼,反正我也沒有很在乎報告,這只是算是一個進度上的回報而已,做給自己看的。晚上團體討論,劉XX測試車體,我做圖不斷修正,而目前的路徑暫定如下,由26張A4白紙拼貼路線,之後劉XX還要做測試。


而另一邊server端,這邊使用之前2021下二段日記 11/16(二),完成ESP32發送GET請求給李XX建立的server,至於server要如何"主動"傳輸資料給ESP32,我覺得有2種方法就是ESP32不斷發送GET請求,確認數值是否更新或是用websocket持續連線,但李XX有其他見解,所以這邊ESP32就給他拿去研究,反正我也不是很懂後端就是了。


12/24(五)

進度

  • 示波器訊號衰減與電容補償
  • 寫平顯作業二
  • 通原的PM與FM名詞定義

心得

早上是電儀表的最後一堂課,網路教學示波器探头如何校准示波器电压探头X1X10档有何不同,各功能按钮有啥用,示波器校準流程如下

  • 將電壓探頭設置為X10,示波器介面也要設定為X10,代表輸入訊號會被探針衰減10倍,再藉由示波器的MCU放大10倍顯示在螢幕上
  • 用螺絲起子去轉示波器探頭上的螺絲,調整補償電容成"匹配"

下午平顯是最後一堂課,並繳交作業二,講的是訊號延遲與Micro LED技術。

晚上是平安夜,我那位電神朋友約我吃飯,聊到他以前在航太系讀的一些古典力學、待過教會、修過電腦,還有最近在讀一些經典文學,經驗也太豐富,之後我繼續讀通訊原理。

Continuous-Wave Modulation分為linear和angle,angle是分為PM與FM,先定義一些名詞。

名稱 數學式
instaneous phase of
xc(t)
θi(t)=ωct+ϕ(t)
phase deviation
ϕ(t)
instaneous frequency of
xc(t)
ωi=dϕi(t)dt=ωc+dϕ(t)dt
frequency deviation
dϕ(t)dt
  • PM是與phase deviation與輸入訊號成正比
    ϕ(t)=kpm(t)xc(t)=Accos(ωct+kpm(t))
  • FM是與frequency deviation與輸入訊號成正比
    dϕ(t)dt=kfm(t)=2πfdm(t)xc(t)=Accos(ωct+2πfdtm(α)dα)
  • 需要會判斷FM和AM波型的差異,像是在
    m(t)
    斜率最大時,PM波型較密;在
    m(t)
    相對值最大時,FM波型較密。
  • 之前的AM訊號
    (m(t)+K)Accosθ
    的freq.是const.,而PM、AM的mag.是cost。

12/25(六)

進度

  • 通原的single-tone FM

心得

由於angle modulation是非線性的,分析上有困難,所以我們先用特例去簡化分析FM,就是single-tone FM。

xc(t)=Accos(ωct+ϕ(t))Modulated signal=Accos(ωct+2πfdtm(α)dα)FM definition(dϕ(t)dt=kfm(t)=2πfdm(t))=Accos(ωct+2πfdtAcos(ωmt)dα)single-tone FM definition=Accos(ωct+fdAfmsin(ωmt))assume 0m(α)dα=0=Accos(ωct+βsin(ωmt))modeulation index of single-tone FM=AcRe[ejωctejβsin(ωmt)]Euler's formula ejϕ=cos(ϕ)+isin(ϕ)=AcRe[ejωct(n=Jn(β)ejnωmt)]Fourier series expansion=AcRe[n=Jn(β)ej(ωc+nωm)t]exponent arithmetic=Ac(n=Jn(β)Re[ej(ωc+nωm)t])Jn(β)R=n={AcJn(β)cos[(ωc+nωm)t]}Euler's formula ejϕ=cos(ϕ)+isin(ϕ)

由上式推導就可以知道single-tone FM signal的頻率與震幅是

freq.=ωc+nωm,n=0,±1,mag.=Ac|Jn(β)|


12/26(日)

進度

  • 通原的modeulation index of single-tone FM
    β
    物理意義
  • 通原的FM(單頻率與多頻率)的頻寬
  • 通原的FM的demod - discriminator

心得

關於昨天的single-tone FM有幾個參數有補充

  • modeulation index of single-tone FM
    β
    ,可以用來決定傳輸頻寬(TX的BW)
    m(t)=Acos(ωmt)ϕ(t)=2πfdtm(α)dα=fdAfmsin(ωmt)dϕ(t)dt=fdAfmωmcos(ωmt)(1)max{dϕ(t)dt}=fdAfmωm(2)βfdAfmfrom (1), (2) β=max{dϕ(t)dt}ωm=max value of frquency deviationmodulation freq
  • FS expansion
    ejβsin(ωmt)=nanejω0t=n[1T0T02T02x(t)ejnω0tdt]ejωmt=n[1(2πωm)πωmπωmejβsin(ωmt)ejnω0tdt]ejωmt=n=Jn(β)ejnωmtJn(β)12πππej[nxβsin(x)]dx
  • bessel function常見性質(詳細的數值需查表)
    Jn(β)=Jn(β)if n is evenJn(β)=Jn(β)if n is odd2nβJn(β)Jn1(β)=Jn+1(β)n=Jn2(β)=|ejβsin(ωmt)|2=1

理論上FM的BW是無限大,因為bessel function會散開,但由於

limnJn(β)=0,我們會定義一個power ratio要大於某一個值去決定FM的頻寬,因此STFM的頻寬定義為
B2kfm
k
為最小的整數使PR大於某一值,而根據經驗法則
kβ+1
,因此頻寬改寫為
B=2kfm=2(β+1)fm

當輸入訊號

m(t)為任意值時,根據Carson's rule的經驗法則得頻寬為
Define deviation ratio Dmax of |dϕ(t)dt|bandwidth of m(t)Transmission Bandwidth B=2(D+1)W
這邊參數與公式與ST FM類似,可以相互對照。


FM的demod可以使用discriminator或是Phase-Locked Loop(PLL)。理想的discriminator可以直接抓取

X(r)=Accos(ωct+ϕ(t))
ϕ
,再做微分得
m(t)
(當
m(t)
乘上一個正的常數代表解調成功),但實際上很難這樣做,因此實際上的discriminator我們會先把接收訊號

  • 做微分
    dxr(t)dt=Ac(ωc+dϕ(t)dt)sin(ωct+ϕ(t))
  • 乘以
    1
    ,去掉負號
    e(t)=Ac(ωc+dϕ(t)dt)sin(ωct+ϕ(t))
  • Envelope detector
    Ac(ωc+dϕ(t)dt)
  • DC removal
    yD(t)=Ac(dϕ(t)dt)=Ac2πfdm(t)

12/27(一)

進度

  • 單晶片專題的ESP32和Mega2560要如何傳輸
  • 單晶片專題的ESP32和heroku的server要如何傳輸
  • 單晶片專題的microSD購買
  • 熟悉adobe audtion的EQ面板

心得

延續上禮拜,下午電子電路實驗做final project,焊接和元件都已完成,但還沒測,我是沒有抱太大的信心,感覺PCB板上的電路就一副短路的樣子,不過我重心也不在這裡,還有很多科目還要讀。之後討論一下單晶片,ESP32和Mega2560要如何傳輸,基本上就是

ESP32傳多少的編碼,車子就移動到哪裡,最後回傳1代表已經結束任務

而另一邊我隨便抓了10樣台灣小吃,已經決定好餐單。與server的連線目前組員打算是在ESP32也架個server,ESP32與heroku的server雙邊通訊,使用ngrok服務,將ESP32原先的private IP轉為public IP,傳送檔案類型使用*json,由於ESP32開發板還在組員那裡,我打給組員大致測試流程為

  • 先測那個教學網址的範例code
  • 測試esp32和heroku能否互相get訊息並有200的http status code
  • 使用json格式互傳訊息
  • 想好我們esp32和heroku的server有哪些對接的API接口和要傳送檔案的內容

車子語音方面,使用雅婷文字轉語音,已錄製好要播放的語音提示,為了了解wav, mp3模組提供聲音處理的EQ值,我開了adobe audtion,EQ就是在frquency domain裡面去調哪個頻帶的聲音高低,如下圖就是EQ的參數化面板有HP就是high pass filter,用來過濾低頻訊號,Q是品質因子,中心頻率去除以3dB的頻寬,簡單來講就是調整要影響頻帶的範圍。

由於wav, mp3模組使用microSD儲存音訊檔,但我遲遲借不到microSD讀卡機,所以在露天網購,禮拜二時送達,但Win11驅動好像有問題,一直無法正常操作內部檔案,實在是很麻煩,很想退貨,重買一個比較有聽過的牌子;還有一個問題是ESP32外部供電,目前想到的解決方法是使用之前Uno板供電的方式 - 電池12V輸入給L298N,而L298N有拉出一個5V的電源接到ESP32的

Vin供電,禮拜四一起討論時再試看看。很多東西都還沒弄,像是到達客戶端時各個模組相應功能、ESP32與heroku的server之間要開幾個API來傳資料期末專題弄這些有的沒的東西有趣是有趣,但我實在是沒什麼時間。


12/28(二)

進度

  • 電子三一階二階濾波電路實踐
  • 通原的機率名詞定義

心得

電子三上禮拜12/21(二)是講根據filter的那4個SPEC去找出符合SPEC下的transfer function,而今天是講要怎麼根據算好的transfer function去實現實際的電路。在設計高階filter時,一般會用多個二階以下的block去實現,因為當一次設計3階電路時,需確保在unity gain frequency下phase沒有下降到-180度以下,這樣設計起來需要考量穩定性,會很麻煩。一階濾波器有4種型態分別是LP、HP、general、All-pass,由transfer function的分子項決定。實現方式可以用被動的RC電路與OP AMP RC電路,而關於transfer function需要自行推導。

再來是二階濾波器,他的transfer function就顯得複雜許多,LP為了求頻率響應的極值,把transfer function做微分=0,由推導出來的結果可以知道當

Q=12時,能達到最大值,即Butterworth filter;而HP也是同樣做法;BP我們感興趣的是他的bandwidth,算出結果是
Bω2ω1=ω0Q
;而當zero落在
±jωn
時,稱之為notch filter,又可細分為LP、HP、regular三種。

最後就是電路實踐,使用LCR電路,基本架構都符合natural structure,差別只在於要用電流或電壓激發(相同)與在哪個位置激發(區別LP、HP、BP),而notch filter一樣不改變natural structure,以及最後的all-pass filter電路。


通訊原理前面所探討的是沒有noise下的mod與demod,但在加入noise情況下,需要機率的知識去量化noise。而輸入訊號

m(t)其實也是隨機(random)的,而非決定性的(deterministic),原因在於接收端我們不知道預期的輸入訊號長什麼樣子。幾個基本的名詞定義要知道 - random experiment, outcome, events, sample space, 機率3大公理, 條件機率
P(B|A)=P(BA)P(A)
, 獨立事件
P(B|A)=P(B)P(AB)=P(A)P(B)
,值得注意的是隨機變數不是變數,而是一個函數的對應關係,重要的例題有binary symmetric channel。


12/29(三)

進度

  • 通原的機率函數PMF、PDF、CDF
  • 通原的聯合機率函數
  • 通原的均勻分布、高斯分布
    fX(x)=12πσ2e(xm)22σ2
  • 通原的平均數(期望值)、 變異數(variance)
  • 通原的covariance、correlation coefficient

心得

機率的隨機變數分為2種

隨機變數種類 質量/密度機率函數 累計分布機率函數
離散型 PMF
PX(x)P(X=x)
CDF
FX(x)P(Xx)
連續型 PDF
fX(x)ddxFX(x)
CDF
FX(x)

2種常見分布,1是均勻分布

Xμ(a,b),2是高斯(常態)分布
XN(m,σ2)
,PDF為
fX(x)=12πσ2e(xm)22σ2
(要背),由他的平均數(期望值)與標準差決定,又定義了一個新名詞Q-function
Q(y)
,在數位通訊常用到,只是CDF的互補數(1-CDF)而已,這邊有個bit-error和Q-function計算的例題要熟悉。

再來是考慮2個隨機變數以上所形成的聯合機率函數

  • Joint CDF
    FX,Y(x,y)P(Xx and Yy)
  • Joint PDF
    fx,y2FX,Y(x,y)xy
  • 當隨機變數
    X,Y
    獨立時,
    FX,Y(x,y)=FX(x)FY(y)
    fX,Y(x,y)=fX(x)fY(y)
    ,類似前面講的兩個隨機變數機率的獨立變數
  • condition PDF
    fX|Y(x|y)fX,Y(x,y)fY(y)
    ,類似前面講的兩個隨機變數機率的條件機率

PDF與CDF提供最完整的隨機變數的資訊,但有時候我們只需要隨機變數的部分資訊即可,而有了統計(statistics)。

  • n-th moments (n階動差)
    E[Xn]=xxnfX(x)dx
  • n=1
    時(1階統計量)即為 - 平均數(期望值)
    E(X)=X=μX=mX=xxfX(x)dx
    • X
      Y
      獨立時,
      E[XY]=E[X]E[Y]
    • if
      Yg(X)
      ,then
      E[Y]=E[g(X)]=g(x)fX(x)dx
      ,這邊有個計算local oscillator的例題
  • n-th central moments(先扣掉期望值)
    E[(XX)n]=x(xx)nfX(x)dx
  • n=2
    時(2階統計量)即為 - 變異數(variance)
    Var(X)=σ2=E[(XX)2]=E[X2]E[X]2
    (平方的平均 - 平均的平方)
    • 物理意義為average AC power = E[instataneous AC power] = average power - DC power (instataneous power = value的平方)
    • 由於2階統計量牽扯平方項是非線性,因此只有在
      X,Y
      是獨立時,
      Var(X+Y)=Var(X)+Var(Y)
      才會成立
    • Var(aX+b)=a2Var(X)

要計算2個隨機變數的相關性,引入covariance

μX,YE[(XX)(YY)]=E[XY]E[X]E[Y],分為大於0是正相關、小於0是負相關、等於0是不相關,covariance可以判斷相關性的方向,但無法判斷強度,需要normalization,得相關係數(correlation coefficient)
ρX,YμX,YσXσY
,當
X,Y
是獨立時,
X,Y
是不相關,反向不成立,特例是高斯分布,反向會成立。

最後一個性質是高斯分布做線性轉換仍然是高斯分布

XN(m,σ2)Y=aX+bYN(am+b,a2σ2),實際應用上一個常態分布的noise經過一個linear filter,依然是常態分佈的。


12/30(四)

進度

  • 單晶片專題的點餐流程大致完成

心得

實驗內容為USB host,與master與slave之間溝通方式類似,很快就做完了。之後跟劉XX討論循跡路線問題,會因為地不平而影響到能擺設的房號,不過理想上還是想要能繞一個圈,這樣起點到終點那段距離就不需要手動去搬運,之後他來弄車上模組的食物自動掀蓋裝置,這是之前報告時教授提點的內容,這邊是用L298N與馬達去驅動3D建模的半圓形的蓋子來實現。另一邊跟李XX討論heroku跟ESP32的連線,原本是採用12/27(一),但因為ngrok服務,一來連接速度慢、二來網頁沒有安全性憑證,用外網的手機網頁連線,一直無法測試成功,因此最後改用ESP32做為client去不斷get資訊。

這種分工討論,常常需要互相協調,我承認我的溝通能力有待加強,有時候一股腦兒就想吐露出我的想法,而沒有聽取別人的聲音,就如同我平常打日記一樣,有時候一時興起長篇大論,盡都是個人的主觀想法。就算覺得自己的想法比較好,也要有說服別人的能力,讓別人聽的懂自己的想法與正確地回答別人提出的疑問。

晚上把點餐流程大致完成,延續先前後場人員出餐完後的進度,接下來是行進過程要實時確認餐點重量有無遺失,測得重量都顯示在OLED上。再來是到達房間一開始是顧客刷房卡(RFID),確認UID吻合後取餐,一樣所有流程指示都顯示在OLED上,最後車子回到起點(後場人員),繼續下一筆訂單。


12/31(五)

進度

  • 單晶片專題的GPS模組與語音服務

心得

今天是元旦補假,也是2021年的最後一天,繼續趕單晶片專題的進度。我加上最後一個模組GPS功能,但這邊就遇到一個很大的問題,也幾乎佔掉我快一整天的時間在處理,GPS也是使用跟DFplayer一樣的RX和TX的UART傳輸,勢必會與DFplayer的接口衝突,因此DFplayer要去尋找其他腳位,我試了幾乎所有腳位都無法用HardwareSerial來初始化,最後拔掉hx711的16與17腳位,改用DFplayer總算是能正常運作了,可是hx711又要尋找新的腳位了,試了幾乎所有腳位,要不是燒不進去程式,要不是顯示

Solved: A fatal error occurred: Timed out waiting for packet content

參考網路上以下解法1解法2,解法2給出的原因為

GPIO2引腳用於 ESP32連接電路。在負載期間,不會被拉至GND。如要接管FLASH存儲器,必須在上傳過程中將引腳拉至GND

解法一確定不管用,目前在使用解法二,我只能說ESP32的pin腳真的很麻煩 - 有些不能用,有些又有一堆限制,然後每個廠商的集成ESP32的板子接線又不一樣這些坑點花了我今天一整天的時間。

好在今天該實現的,最後總算是有做出來,新增GPS模組與加上各個流程的語音服務,而關於送餐車行進過程,播放的是Hololive裡面rushia和aqua的bgm,真的好聽。


01/01(六)

進度

  • 單晶片專題的ESP32爬取網站上的json格式並解析
  • 通原的隨機程序的自相關函數、自共變函數
  • 通原的隨機程序的SSS、WSS

心得

早上做了3件事,一是ESP32爬openweatherB站上的json格式並做解析,獲取我需要的資訊;二是找到別人現成的OLED過場動畫,之後我再修改成自己的動畫;三是確定DFplayer的TX可以回傳撥放的狀態,這樣就可以等到DFplayer撥放完,傳給我訊息,我再給DFplayer訊號,讓它繼續撥放下一個聲音了,一樣之後再弄。


12/29(三)學的隨機變數是對應到一個"數字",而隨機程序是是指在每個取樣空間內的取樣點對應到一個"函數",這個函數稱為sample function,所形成的集合稱為ensemble,例如一個local oscillator的隨機程序

X(t)=Acos(ωct+Θ),當在
t=t0
秒時觀察這個系統,會簡化為
X(t=t0)=Acos(ωct0+Θ)g(Θ)
X(t=t0)
即為隨機變數,也就是說隨機程序退化成隨機變數。

隨機程序一樣可用機率函數描述joint PDF, Joint CDF,統計量mean, variance,差別只在於通常算出來是與時間

t相關的函數,而非一個常數,再來定義

  • 自相關函數(autocorrelation function, ACF)
    RX(t1,t2)E[X(t1)X(t2)]=X(t1)X(t2)
    ,名稱自(auto)來自於屬於同一個隨機程序
    X
    ,因此與之相對交(cross)就是來自不同隨機程序
    X(t1),Y(t2)
    ,能描述兩隨機程序的相關度,但不能描述相關性的強度。
  • 自共變函數(autocovariance function)
    μX(t1,t2)E[(X(t1)X(t1))(X(t2)X(t2))]=X(t1)X(t2)X(t1)X(t2)

當每一階的統計量皆與絕對時間無關,稱為嚴格穩態(strict-sense stationary, SSS),而只要符合一階與二階統計量與絕對時間無關,稱為廣義穩態(wide-sense stationary, WSS),由於高斯分布知道一階統計量mean和二階統計量variance即可決定機率密度函數PDF,因此當

X(t)為高斯分布,WSS -> SSS。


01/02(日)

進度

  • 通原的time average與ergodic條件
  • 通原的auto-correlation function與PSD關係
  • 通原的DSB-SC在noise影響下的分析

心得

昨天探討的是ensemble average是在同一時間內各個simple function的統計量,而今天要討論的是同一simple function內的時間平均,即是time average of a RP。

  • time average
    <x(t)>=limT[1TT2T2x(t)dt]
  • time average of autocorrelation function
    RX(τ)≜<x(t)x(t+τ)>=limT[1TT2T2x(t)x(x+τ)dt]

當n階time average與ensemble average相同時,

<x(t)>=X(t),RX(τ)=RX(τ)時,稱為ergodic,當1、2階滿足時,稱為wide-sense ergodic,這部分可以前面的SSS與WSS做比較,而當隨機程序為ergodic,必然為SSS。由於
<x(t)>
計算較簡單,因此可以多加利用這樣性質計算
E[X(t)]

定義訊雜比SNR衡量參數。

SNR(signal-to-noise ratio)signal powernoise power=<s2(t)><w2(t)>=ergodicE[s2(t)]E[w2(t)]

對一個WSS的隨機程序,可以定義功率密度函數(power spectral density, PSD)

RX(τ)auto-correlation functionFSX(f)PSD of X 因此可以由以上關係式得
RX(0)=SX(f)df=E[x2(t)]=ergodic<x2(t)>=power of X(t)
。PSD決定隨機訊號的頻寬。


Gaussian Random Process定義為取出任意個有限的隨機變數皆是jointly Gaussian PDF,性質是WWS等價SSS與uncorrelatedness等價independence。White Process,PSD為const,與頻率無關。

SW(f)=N02FRW(τ)=N02δ(τ) 結合之前訊號調變與解調的觀念,例題一是探討經過AWGN channel下的系統,而例題二是DSB-SC在noise影響下的分析,如下圖所示。

需要複習學期初講的 - 一隨機程序通過一LTI系統為
SY(f)=|H(f)|2SX(f)
。分析流程是依序求出各個節點的訊號,這部分需要多加練習。


01/03(一)

進度

  • 通訊原理期末考
  • 通訊原理的FM Stereo Multiplexing

心得

今天整天都是在弄通訊原理,早上練教授給的考古題,考的題目很靈活,用到的觀念與公式要背熟,但這次期末考題型跟考古題完全不一樣,應該說期中考也是這樣,題目如下 :

  • 第一題 AM的image frequency
  • 第二題 FM的transfer bandwidth
  • 第三題 binary random waveform generator求隨機程序的期望值、covariance,判斷相關性與SSS
  • 第四題
    R=hs+n
    的SNR計算與求高斯分布的PDF

沒想到他考AM、FM調變的比重

35%,前兩堂課是我一個月前讀的內容,這部分我沒有複習的很透徹,感覺很多觀念都忘了,反正講這些都太過於主觀,成績出來才是重點。

晚上我把2份通訊原理作業寫完,其中最後一份是FM Stereo Multiplexing,我大概掌握教授作業的方向,因為教授其實沒有把通訊原理所有內容講完,都是挑重點講(這樣也好,不然光是教授上課的內容我就讀不太完了),而作業就是出他上課沒講,原文書有的內容,因此我都看交大OCW 陳伯寧通訊原理來找答案,內容放在FM Stereo Multiplexing,基本上就是原文書與交大OCW的中譯內容而已,我想說既然考試已無力回天,但好歹作業好好寫,把這基本分拿好,就這樣不知不覺寫到隔天的早上6點。


01/04(二)

進度

  • 電子三的antoniou電感模擬電路
  • 電子三的二階LCR filter電路實現複習

心得

昨天寫完通訊原理作業、今天打完電子電路final project的結報,這兩科算是結束了,接下來是禮拜五早上的電儀表考試與下午的平面顯示器考試,以及下禮拜二的電子三考試,今天上完電子三的最後一堂課,打鐵趁熱,馬上複習一下授課的內容。

由於電感體積大,磁場問題,需要與其他電子元件分開,避免磁場的問題,因此需要找到能代替電感的電路,這邊介紹一個取代方法 - antoniou inductance simulation circuit,而由於負載連接會改變特性,因此在輸出的地方加一個buffer(增益K的放大器),上禮拜教的二階LCR的L通通取代為antoniou電路,複習一下上禮拜二講的內容,以下基本架構都符合natural structure,差別只是輸入源(激發位置)不同:

filter 輸入電壓源
LP 接在L
HP 接在C
BP 接在R
ωo
的notch
接在LC
ωn>ωo
的LPN
接在LC,把C拆成2個並聯
ωn<ωo
的LPN
接在LC,把L拆成2個並聯
All pass
12(0.5BandPass Filter)

值得注意的是All pass在這裡就是1-(2BP),一般的L做不到2BP,但在這裡,我利用buffer,實際上為non-inverting amplifier的增益

K=1+r2r1,做出
K=2
;由於1-(2BP)是(2BP)的互補數,因此我把輸入訊號
Vi
與GND交換接,即可實現All pass filter。

剩下的內容等禮拜五考完電儀表和平顯期末考,再複習。


01/05(三)

進度

  • 單晶片專題的循跡車體與車上模組整合

心得

雖然我不太情願(書都讀不完了,還要搞這個苦差事),但今天還是跟組員弄了一整天的單晶片專題,整合循跡、掃房號編碼的車子和我這邊的車上模組,循跡和編碼一直是我們車子的核心功能,但受到行進地面平坦度與材質影響,影響變音太大,需要不斷去調參數、測試多次才會成功,所以這次拍完demo影片,之後就會把循跡和編碼束之高閣了,很可惜,但也無可奈何。

反正最後總算是有測試成功,錄了個demo短片,回去我花了2個半小時做出每個流程的動畫窗格,如果之後的進度難產,好歹還有這個影片與目前的流程當作備案。

01/06(四)

進度

  • 讀平顯作業
  • 讀電儀表作業

心得

今天重寫之前2次平面顯示器的作業,需要背的公式還蠻多的,像是

PPI(pixel per inch)對角線解析度對角線長度(英吋)where 1inch=2.54cm對比度最亮:最暗 MOS與TFT區別、IPS(normally black)與TN(normally white)面板區別、LCD與OLED面板區別、3D眼鏡種類區別、為什麼要用AC驅動配向膜(用等效電路解釋)、電壓平均值(數值
Vcom
)不等於0時會有DC殘留效應、液晶漏電流的RC放電公式、等效液晶電容計算、藍相液晶電位計算等觀念。


再來電儀表一樣繼續背公式與很多名詞定義,分為3班老師出題

  • 楊慶龍範圍需要會計算RBW(IF filter的bandwidth)的各項參數、頻譜分析儀的超外差結構、不同頻率下的阻抗(LCR各個比例)判斷、阻抗分析儀的結構。
  • 李順裕範圍需要背ECG訊號(PQRST波意義)、12lead ECG、eye diagram各點物理意義。
  • 黃致憲範圍需要背示波器與訊號產生器操作詳細流程、transducer, senor, actuator區別與舉例說明、示波器三種取樣模式區別。

晚上拿到朋友傳來的考古,就和其他人分工寫考古,從考古看,很多內容也都是作業的內容,外加更多要背的東西。我就這樣背讀到隔天五點,但實在太多,背不太起來。


01/07(五)

進度

  • 電儀表學期末考
  • 平面顯示器期末考

心得

  • 電儀表學期末考題

    • 李順裕範圍
    1. 12 Lead ECG(十二導程心電圖)的人體位置與接線
    2. 等效電極電路個元件的物理意義
    3. eye diagram判讀(jitter, setup time, holding time)
    • 黃致憲範圍
    1. 訊號產生器的burst mode操作流程
    2. 訊號產生器的電壓rms計算
    3. 示波器的觀測波型操作流程
    • 楊慶龍範圍
    1. 頻率響應圖判斷LCR電路的組態
    2. 頻譜分析儀(超外差結構)
  • 平面顯示器期末考題

題目 對應內容
FHD SXGA VGA顯示器 人類視覺解析長度 對比度 作業1
儲存電容目的 電荷守恆定義 TFT-LCD全名 作業1
RC像素電路充放電 作業1-9
藍相液晶優點,電容耦合計算 課本P80例題計算
電流對電壓圖判斷,計算Vgs=0時下的漏電流對應像素數目
資料線補正電壓計算
ΔV=(VOFFVON)CgsCs+Clc+Cgs
作業2-7-b
mini LED電路A點計算與LED等效電路 實驗3
一直線的座標轉換 作業1-13
像素電路frame判斷 作業1-12

電儀表考的十二導程心電圖,沒想到直接要你畫出所有10個電極要擺放在身體上的那個位置,我沒背到那個地方,其中6個電極位置就亂寫;setup time不知道為什麼我寫成settle time,而最不確定的是頻率響應圖判斷LCR電路的組態,這個我課程沒有看到。

平面顯示器一開始基本計算題,其中SXGA的解析度應該是

1280×1024,寬度我背錯,虧我後面計算還寫很多;TFT-LCD的全名是Thin film transistor liquid crystal display,其中Thin film我沒寫出來;電流對電壓圖判斷那題完全沒碰過,該題組是整份考卷中最不確定的、LED等效電路應該是一個TFT並聯一個電容,這是當初實驗三時,助教的叫我們這樣接電路的,那題一樣寫錯。


01/08(六)

進度

  • 單晶片專題的完善非法操作
  • 單晶片專題的解決ESP32不能同時開藍牙和http client
  • 單晶片專題的修改queue結構的data
  • 單晶片專題的車子行進、車上模組、後端整合

心得

今天單晶片結報約出來實作一整天。一開始先確認後端連線正常,接下來我加上一些取消與非法操作的相應流程,讓整個系統更加完善,包括後場人員的cancel鍵取消訂單、取餐時,未先掃描RFID會有警示鈴聲、RFID錯誤感應超過三次,就取消訂單。

我這邊程式測試主要成兩個部分 - 一個是單一功能,另一個是整合到所有系統。之前測單一功能沒問題是去爬去網站上的json檔並去做解析,但當整合到系統時,HTTP Status Code卻是-1,代表巨集connection refused,參考這篇文章,底下留言說ESP32不能同時開藍牙和http client,因為兩者都需要同一天線,但令我不解的是之前ESP32同時開藍牙與http server明明就可以,現在改成當作http client就出錯,這個問題目前無解,所以workaround就是不用ESP32內建的藍牙,而改用ESP32操控HC-05。

這又導致另一個問題是腳位都已經全數接滿,所以要接HC-05,只能砍掉GPS模組,接腳位12和腳位14,如前面我一貫的測試流程,單一功能測試是沒問題的,但當整合到系統時,ESP32的RX卻一直收到很多雜亂的訊息和空字元,問題點是出在12這個腳位,如ESP32 Pinout Reference,規定說如果開機時腳位12是HIGH,會開機失敗,因此之前的GPS和現在的藍牙模組 ,我都是需要一開始先排除負載電路,燒完程式或開機完後才接回去(這是12/31(五)遲遲無法燒錄程式的原因,並得出來的解決分法),我以為腳位12只有這個限制,但這個腳位在開機後訊號可能也會不穩定,所以workaround是拔掉昨天(禮拜五)接的蓋子功能,多出來這三個腳位,給HC-05用,而蓋子功能給MEGA2560操作,ESP32發送藍牙訊息叫MEGA2560開蓋即可。

接下來我把queue結構的節點改了一下,內部data紀錄一筆訂單的各項品項int menu[10],RFID碼int rfid[4]、房號char room_number,但由於HTTP GET一個流程要花差不多0.3秒的時間完成流程,造成我的OLED顯示幀數太低,按鈕與一些感應都不太靈敏,這部分一開始我想到的解決方法由於NodeMCU-32s是雙核,可以使用多線程並行處理,但我之前測試的就結果是,由於我的程式內容太多了,造成無法多開雙核,畢竟不同執行序的一些記憶體分區會共享,所以workaround是當我queue不為空時,就是有訂單流程再跑時,我可能就會改10秒才會HTTP GET一次架在heroku的server。

最後是整合的部分 這邊劉XX調路線和蓋子開合的參數、李XX修改他那邊後端的一些bug,我們終於成功跑完一輪送餐流程,最後是要給ESP32外接電源供電,這在01/05(三)時有試過了,L298N雖然可以提供5V,但可能由於電流過大,DFplayer mp3解碼器無法正常運作,解決方法是從車體底座的28V轉5V變壓器中的5V電源接線上來,給ESP32和工作電壓在5V的模組用,而今天我們仿造之前成功的例子,但卻發現之前車體底座的5V,在洞洞板的焊錫脫落,之後換其他腳位還是電壓太低,我們把L298N的5V和車體底座的5V接在一起,終於成功了!但好景不長,在我們測試完後,要復刻剛才的例子時,卻遲遲沒有足夠的電壓,最後好像還發生了電路短路導致電流異常升高,導致我這邊的DFplayer mp3解碼器模組燒壞,因此現在只能重新網購燒壞的模組以及自己外界用外界電池,加上買個穩壓模組去供電好了,車子的電源管理布局一直不是很好,這是助教當初給我們時,也講過的問題,沒想到在測試要結束的最後一刻,卻被供電搞到,要重買模組。


01/09(日)

進度

  • 電子三的KHN biquad與Tow-Thomas biquad

心得

除了01/04(二)實現LCR電路實現各個功能的filter,另一個方法就是使用雙積分迴路(biquad),積分器可由HP的轉移函數推得

Vhp+1Q(ω0sVhp)+(ω02s2Vhp)=KVi,拉出3條訊號線,既能同時實現LP、HP、HP,又稱主動濾波器。關於具體實現方法有

  • KHN biquad,用米勒積分電路當作積分器,權重OPAMP當作加法器
  • Tow-Thomas biquad,直接在最後加上反向器,這樣就不需要額外用加法器,可以直接相加訊號也為正,但是代價是HP不見,但又可以使用feedforward找回HP。

根據回授基本定義推導,filter的pole與RC電路的zero是一樣的,而filter的zero是受輸入源的位置影響,在不改變natural structure的情況下,也就是filter的pole不變下改變輸入訊號源位置。接下來是要會互補回授電路的轉換與靈敏度計算。

根據前兩次段考經驗,教授的講義要看熟,明天再重頭看與計算上面的例題一遍。


01/10(一)

進度

  • 電子三複習filter的SPEC
  • 電子三複習一二階filter

心得

今天從頭複習所有教授講過的內容,因為考試範圍只有考到filter的sensitivity而已,所以這次考試要好好把握,由於教授講義與smith高度重疊,我就smith搭配上課講義看,寫smith的練習題,如12/21(二)是filter的SPEC定義,有4個重要參數、濾波器衰減函數

A(ω)20log|T(jω)|、選擇因數
ωsωp
、熟悉butterworth filter從transfer function到各參數的推導,以及練習解題流程,而Chebyshev filter解題流程也是類似,不過數學式太繁瑣,可能不會考。

接下來看陳振芳OCW 16:55,複習了電子二的OPAMP內容,積分器的電容再並聯一個電容

RF是為了要避免offset電壓灌入,讓積分器從還沒灌入
Vin
時候,就積分到無限值(實際上是積分到飽和電壓),但當頻率低於
ω=1RFC
,就會變成放大器,而對應到我們現在上的filter即是當作為一階的low pass filter,今年寒假我想系統性重看一遍陳振芳OCW,聽他上課真的很舒服,不過一階電路太簡單,應該都是考二階電路,如01/04(二),而我這次主要是背公式與那些transfer function,通通背起來,以及後面的antoniou電感值一樣背下來。


01/11(二)

進度

  • 電子三期末考

心得

早上寫2年份教授給的考古題,並回去複習那些觀念與公式,大部份的題目都是照抄smith後面的習題,所以我也寫了smith的其他課後題目,而這次考題直接上圖。


1題考觀念、2題butterworth filter流程、3題bandpass filter(2019年考古題的類題,好險我有做考古題)、4題antoniou電感值(考古題)、5題bridge-T網路,其中5-a題的推導,助教考試時,有給全班提示說a點不會流電流,因此未知數和限定方程式是夠求出來的,不過我推導不太確定。依照上次二段平均85分看,這次難度跟上次差不多,可能也是很高,或許就不會調分數了,只求我能在平均就好,不要有太多的計算錯誤。


01/12(三)

進度

  • 單晶片專題的完成所有整合

心得

昨天7點考完電子學後,接下來只剩單晶片期末專題,而重買01/08(六)燒壞的模組今天也已經到貨了,我反覆測試又弄到隔天5點,主要內容實現有2項。1是OLED上排顯示餐點名稱 - 超過3筆則會顯示刪節號、2是DFplayer能連續撥放語音 - DFplayer的TX回傳撥放的狀態,讀取狀態為0代表已經沒有撥放曲目,因此可以繼續撥放下一首,但實際測下來DFplayer的硬體可能沒辦法負荷一直連續讀取值,因此我把送餐後的餐點撥放獨立成一個state的subfunction,不斷在void loop{}內不斷呼叫,直到離開這個state++

每次測試都是這樣明明邏輯是沒問題的,但當整合在一整個流程的時候,可能是受限於硬體效能,就無法正常運行,而這個"無法正常運行",也沒辦法像C/C++有gdb之類強大的debugger,因此只能不斷燒錄,不斷trial and error,讓我搞到心很煩。

下午約出來做,這邊我所有功能已測試完畢,但車子的mega2560板在反覆測試卻無法燒錄程式碼,推測可能也是因為之前01/08(六)電路燒壞有關,好險還有另一塊mega2560板子,一開始測試另一塊mega2560板子是沒問題的,但實際裝上板子後,程式就燒不進去了,推測可能是板子接口不良導致,好險車體移動程式已燒錄完成,但自動掀蓋機的參數就無法調了。

自動掀蓋機是由L298N驅動馬達轉動3D列印的半圓形蓋子構成,L298N供電是從車體底下的12V拉上來,但這個12V電壓十分不穩, 由於現在車體已經充飽電了,實際上供電可能會大於12V,造成馬達轉速過快,蓋子就會很用力地蓋下,蓋子下方是要放秤重平台的,可能會經不起大力地碰撞,因此最後只能砍掉自動掀蓋的功能,讓使用者自行掀蓋,很可惜,但這或許比起冒險實裝自動掀蓋機還來的保險。

最後我們錄製兩部分的影片 - 手機操作與實際車體與車上模組的操作流程,因為我們不知道明天實際demo還能不能跑,光是今天測下來,就問題一堆了,這問題不在於軟體,而是硬體不穩定性,這是我們無法解決的。


01/13(四)

進度

  • 單晶片專題的實際demo

心得

延續昨天12點錄完demo影片後,我回宿舍洗澡、吃消夜,整理完心情後,凌晨2點多跑去新K館剪影片,剪到早上10點多輸出影片,分為line介面與車子視角,有一次完整的正常流程以及5個異常處理 - 運送途中食物重量異常減少、消費者未遵照正常手續直接取餐、消費者使用房卡感應錯誤超過3次、後場人員在一開始即取消訂單、消費者逾時未取餐。

睡了2個小時,下午單晶片最終報告,在報告前又測試了幾遍流程確定沒問題,但實際上台時,可能短路問題,車子回程時我這邊模組有些問題,但是前面的demo影片已經足夠詳細了,也沒被教授噴,這學期的單晶片算是圓滿落幕。

晚上我們三個組員去吃億品鍋,在這學期18周之間,我們每次做完課堂實作以及期末專題時,都會一起吃飯,今天或許就是最後一次聚餐了,當初修這門課時,幸好是遇到認識的轉學、轉考的人組對,比較認識彼此,在課堂實作與期末專題上都蠻carry的,不然很多時候分組都是所有東西都要自己完成,我覺得自己一個人做雖然並沒有什麼不好的,但時間絕對不夠,還有專業科目要讀。

今天或許是期末考考完了,億品鍋店內的人很多,聲音吵雜,大家都在歡呼慶祝,但我內心沒有一絲喜悅,因為這只是一個階段的結束,我還有很重要的問題待解決 - 成績,我校內成績一直沒有很好,之後沒意外的話是考研究所,但是就算考研過了,二階還是要看書審成績,所以無論如何還是看成績,而現在很多科成績都還沒公佈,如果下禮拜有一科公布,平均80分,發現自己只有拿10分而已,我想我也不會開心到哪裡去。


01/14(五)

進度

  • 學期末雜事
  • 看平顯成績

心得

今天處理一些雜事 - 還單晶片材料、剪頭髮、請朋友幫我禮拜天幫我辦離宿手續。下午上平顯課和看平顯成績,看了一下有在平均之上,我就滿意了,另外要到5分,其中2分是部分給分、3分是助教改錯,算是還不錯,也問了其他題,把一些錯誤的觀念弄懂,起碼知道自己是怎樣被扣的。平顯就是一堂凉課,只有2次作業和1次大考而已,好歹把這種涼課的基本分數拿到,或許就能稀釋掉考差的科目,拉高平均了。


01/15(六)

進度

  • 搬離宿舍回潮州住
  • 體驗原神

心得

今天早上爸媽開車來勝一宿舍,搬東西,記取去年暑假的2個教訓 :

去年暑假的問題 今天寒假的改進
搬太多書,每科都想讀,結果根本讀不完。 只有搬必要的幾本書而已,隨身的物品大幅減少。
有一袋寄放物品的菜瓜布和一整套牙膏、牙刷不見。 如下圖,標記每一袋的編號,方便之後取物時,清點行李有無缺失。


在經過大學生活3年半的來來回回搬宿舍,東西已經減少不少,現在只剩衣物、計算紙、書籍這些必要品,但這樣看起來還是覺得東西很多。

原本是想說要回台北,但爸爸說台北的家很擠,哥哥現在也在用我以前高中時期住的那個房間,講現在台北疫情多嚴重之類的話,所以還是回潮州好了,不過跟去年暑假不同的是今年寒假就只剩我一個人,阿姨、爸媽下禮拜回潮州過年前,我要打理好自己的生活,還記得去年暑假,我常常下午才醒來,都是哥哥幫我買午餐,但現在不行了,要自己去買午餐,而晚餐的話可能就是跟去年暑假一樣去阿嬤家吃,不然外面都沒有青菜可以吃,也不太好。


晚上載了原神下來玩,想感受一下原神的魅力,不然我iPad買來只用GoodNotes而已,也有點說不過去。我超喜歡安柏的,這種綁蝴蝶結的女生真的超可愛的,她戰鬥時,射箭也很帥,不過平板實在不太好瞄準。


原神這種開放世界隨便一個岩石都能爬,到處探索地圖,並且在物件互動上做得不錯,拿安伯的火箭射草地,該片草地會燒起來,凱亞用冰封的技能去直接冰凍河川表面,造一條路出來,對一個移動平台的遊戲實在很猛,但就是因為感覺太好玩了,所以我玩了4個小時就把遊戲刪掉了,感覺如果玩下去,沉溺於原神寬闊的大地圖,我今年寒假就荒廢掉了。


01/16(日)

進度

  • 補日記

心得

今天看了戏中人间——《原神》云堇创作的幕后,訪談包括2D作畫、3D建模、音頻創作對於新角色創作的心路歷程,事前做得很多工作,研究傳統京劇文化,盡可能還原傳統文化,但又不失去遊戲性,讓我了解到創作者對於一個自己創造的角色能有如此厚重的感情;另一個是影視颶風的去年的年度回顧一个百大UP主的创业故事,從公司的現金流危機到Tim心理狀態不穩定,吐露的是Tim那最真實的一面,好無保留,這不是一般的心靈雞湯,而是真真實實發生在這個世界的事情。

晚上補了日記,這兩天下來有點倦怠,明天再上工。


2021下三段總結

進度

  • 通原的機率與統計與隨機程序
  • 電子三的filter設計流程
  • 完成單晶片專題

心得

  • 第13周,電磁二段成績出來,我成績還是沒有絲毫起色,可能是我題目練習的不夠多吧,就退選了,之後又再退控制工程,通通都丟到大四上修。
  • 第14周,照理說有充足的時間可以準備電子三,但我準備考試方向弄錯,應該是要讀懂教授的講義內容,再刷smith會比較好,因此沒有考好。接下來是做電子三的PSPICE作業,調了兩天的參數,但PM還是沒過。
  • 第15、16周做單晶片專題大致完成點餐流程與讀通訊原理,以及了解機率與統計、隨機程序的觀念。
  • 第17周通訊原理期末考,接下來平顯、電儀表考試,上述兩科也花了很多時間背誦。
  • 第18周讀電子三filter,考試成績還可以,最後完成單晶片專題,並拍了demo影片。