# 專題筆記 08/01 python的numpy之reshape轉置行為和matlab的reshape不同 如果用pi以python將資料編譯再傳來matlab端 有可能在計算BER的時候因為上述的轉置行為差異造成BER看似大幅提高 但資料實際上沒有錯的情況 08/03 把Arduino的針腳改了 11代表MOSI 12代表MISO 本來移除了11 現在兩個都有插線 D11(MOSI):傳送相位資料給 beamformer,移除後 → 無法控制波束 D13(SCK):提供 SPI 時脈,移除後 → 資料無法解析 D12(MISO):目前未用,移除沒影響,但將來若讀回資料會出錯 D10(SS):非必要但建議設為 OUTPUT 並拉高 基本上四個都要插 尤其D11 不然會死 08/10 把專題的抗干擾方式改為子載波分離的方法 每台TX用的子載波群不一樣 所以在OFDM的正交性沒有被破壞的情況下 干擾會很小 前提是這樣對頻偏補償的要求會更高 目前我的想法是對每台TX分別做不同的CFO補償 要達到這點必須使用不同nID的RS 並且在補償的時候要把RX資料頻域中切分出想要的子載波群就好 不能全補 8/17 已經做完了2TX 頻譜分配如下圖  8/20 我發現第三台TX的通道響應能量超小 所以我不能再讓TX1 TX2中間留那麼多guard band 頻譜得往旁邊擠才行 而頻譜超過正負fs/4之後就會被roll off factor影響並衰減 所以子載波配置要改成三台各100個左右 # rasberry Pi接Pluto設定小細節 1. Rasberry PI電供一定要是5V,不多不少,請檢察充電器上有沒有支援5V(電流則3A或以上) 2. 在terminal用`ifconfig`指令來查看裝置IP位置(wlan裡的inet) 3. 在透明有風扇外殼的pi3上,執行前由於pluto需要的adi函式庫在一個'myenv'的環境裡 所以要先進入環境再執行 4. 進入環境 `. myenv/bin/activate` 離開環境`deactivate` 怎麼在Pi的圖形顯示介面之IDE(Geany)改環境: 於介面上方'組建'選取'設定組件命令' 進去找下面標題為'Execute'的一欄 將裡面命令那行從`python "%f"`改成`/home/user/環境名稱/bin/python "%f"` 如此一來會改變此IDE按下執行時 IDE的行為 5. 於SSH連接時,執行python檔案需要在terminal輸入`python3 檔名.py` ex:`python3 Desktop/Pcode/TX_main.py` 6. 讓PC和Rasberry Pi連上同一個wifi就可以SSH遙控之,IP位置如下 user 密碼:ntou904904 可以用DHCP固定每次連上的IP,這樣就不會被重置 我的iPhone熱點對應IP:172.20.10.6 7. 關機`sudo shutdown` 8. 進入某資料夾`cd 路徑` 例如:`cd /home/user/Desktop/Pcode 9. 於windows cmd快速查找同網路上的其他IP位置 `arp -a`,但是這招只會顯示有交換過封包的裝置,對於沒有交換過的只能用ping一個一個位置測試 10. `vcgencmd measure_temp`查看CPU溫度 `echo "1" | sudo tee /sys/class/thermal/cooling_device0/cur_state`讓pi5的風扇開始轉 11. `vcgencmd get_throttled` 查看有無電壓不足 回傳`0x50000` 表示曾經因電壓不足降頻` 0x50005 `表示現在正因電壓不足或過熱而限速 `vcgencmd get_throttled | cut -f2 -d=` 取得狀態 回傳值對應表如下 回傳數字大小如果比以下值大了16代表顯示的是曾經之狀態 | 0 | 1 | 2 | | -------- | ---------- | -------- | | 電壓不足 | 過熱 | 限頻 | 12. `iio_info -s` 輸入這行可以查看各USB裝置的明細 在裡面會看到pluto是以哪個usb孔接上pi的 以此資訊來用adi連接至pluto即可 例如: usb:1.8.5 那在python就應該要寫上`sdr = adi.Pluto("usb:1.8.5")` 以上適用於一台pi連接到多台pluto時使用 這時用ip去指定Pluto很容易失敗(我沒有成功過) 13. 可以用pi4或pi5的話 整個做專題的操作體驗會好很多 因為pi3容易過熱 要多個pluto連到同一個pi的話 請購買有獨立電源的usb集線器 讓pluto們自己用一個電源 這樣pi的電供可以全力支援他自己 不然他會變慢 # 怎麼用pi 5連線到pluto? 理論上辦不太到,最快的方法是使用adi公司自己出的kuiper kernel(已經裝好adi的Pi OS)映像檔直接在燒系統的時候燒到SD卡裡面,這樣就會有一個裝好adi的pi OS,但目前(2025)只有pi 4支援這個kernel,所以要用以下指令來安裝pi 5,運氣好的話會成功 ``` #更新整個系統並下載cmake sudo apt update sudo apt install -y build-essential cmake git libusb-1.0-0-dev #一次在整個系統裝好所有adi所需套件 sudo apt-get -y install libglib2.0-dev libgtk-3-dev libgtkdatabox-dev libmatio-dev \ libfftw3-dev libxml2 libxml2-dev bison flex libavahi-common-dev libavahi-client-dev \ libcurl4-openssl-dev libjansson-dev cmake libiao-dev libserialport-dev #更新libiio使pi可以跟Pluto交互通訊 sudo apt-get update sudo apt-get install -y libusb-1.0-0 libusb-1.0-0-dev libiio0 libiio-utils sudo udevadm control --reload sudo udevadm trigger ``` 到這裡是系統層級的安裝,而pyadi-iio套件如先前所說的得用虛擬環境的pip安裝,所以請創一個環境後(建議跟pluto程式碼同一個資料夾,不會創的話問GPT就好)貼上以下指令: ``` pip3 install --upgrade pip pip3 install pyadi-iio ``` 以上步驟是我好幾次試出來後才得以讓pi 5執行adi的方法,但隨著版本更新可能不支援這個方法了,所以你可以把以上指令分開執行,遇到錯誤就貼給ChatGPT。要買pi 5來試pluto的話建議查查當下kuiper kernel的pi 5版推出了沒,不然我建議用pi 4 ## 密碼 32bit pi3 user 密碼:ntou904904 手機熱點對應:172.20.10.6(固定) 64bit pi3 pi密碼同上 手機熱點ip不固定 Pi5 密碼八個零 巴塞WiFi ip:192.168.68.110 手機熱點ip:172.20.10.2(不固定但有金鑰)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up