LTSpice XVII, UTF16 LE format ? AM radio AGC, convert to ANSI pure ASCII format


https://wp.me/ph3BR-2NC

 

有人做的, 抄來一用, 比自己從零開始要迅速

 

俺的源碼, https://github.com/xiaolaba/LTSpice_XVII_UTF16_LE_format_AM_radio_AGC

把UTF16-LE 改成 ANSI 的源碼, 方便複製剪貼, https://github.com/xiaolaba/LTSpice_XVII_UTF16_LE_format_AM_radio_AGC/blob/master/AM_radio_ANSI.asc

 

 

不過原作者的源碼有點古怪, LTspice 的源碼版本依然是 Version 4, 但是每個 ASCII 後都跟一個 0x00, 可是這樣的源碼可以被 LTspice XVII 開啟, 雖然其中一些線段是斷開的, 或許作者故意, 或許轉換版本時出問題, 原因 ??!!

 

 

嘗試了幾個編碼格式顯示,

如果套用 UTF16 Little-Endian 1200 編碼顯示, 正常顯示 ASCII 可讀

意思就是用了 0x0056 紀錄 V 這個字母, 等同 ASCII 0x56

儲存的順序 0x56, 0x00

 

會不會是最新版本的 LTspice XVII (羅馬數目 XV=15, II = 2, XV + II = 17) 選用了 UTF16 LE, 所以日後源碼不能隨意剪貼而必須用檔案的形式才能傳送呢? 看起來不夠便利. 之前的經驗源碼檔案asc, 純粹 ASCII 編碼, 很便利剪貼.

 

 

看來不是病毒所致, 那就自己改一下, 看看源碼檔有沒有辦法純粹存為傳統的 ASCII, 不果. 繼續看仿真, 主要看 AGC (Automatic Gain Control).

據說接受的無線電訊號會忽大忽小, 離發射台近訊號越強烈, 聲音太大就失真, 離發射台太遠訊號很弱, 放大很多聲音才出來. 這兩種因素就需要 AGC, 等於開火燒水, 天氣冷就火力大些才能快速水滾, 相對夏天時火力小一些, 同樣時間也可以水滾.

模擬電路圖抄襲來源 http://www.crystalradio.cn/forum.php?mod=viewthread&tid=1828174&extra=page%3D2

AGC原理說明參考 http://www.nhu.edu.tw/~chun/CETT-Unit06%20Foundation%20Analysis%20of%20AM%206-Tr%20Radio.pdf

 

 

事隔一日, 請教過人家, 怎樣把 .asc 的源碼由 UTF16-LE 變成純粹 ASCII (ANSI). 解決方案也很簡單, 使用 NOTEPAD (WIN10 自帶的), 打開源碼, 另存成 ansi 格式, 忽略 UTF16-LE格式丟失訊息的警告, 存檔好了, 再用LTspice開啟, 成功.

 

或許原作者給出來的源碼可能用 Mac OS 做的, 也或許其它原因, 因為用win10建立的 .asc, 依然是純粹 ANSI 編碼, 沒用 UTF16-LE, 也沒看到有存檔編碼格式的選項. 實驗了一個簡單, 建立空白的 .asc, 只加一個電阻, 輸入一行中文字, 存檔果然發現了 UTF16-LE 的格式, LTspice XVII 自動的行為, 然後把中文字去掉再次存檔, 它又自動存為 ANSI 格式, 看來沒啥問題, 因此對於原作者提供的檔案, 裡面看不到任何中文字體, 怎樣一直保持 UTF16-LE 並且難於剪貼, 實在沒有頭緒.

 

改正過後, 保存 ANSI 格式的電路圖, 用 LTspice 打開, 沒有問題, 證明成功.

 

AM_radio_ANSI.asc 源碼


Version 4
SHEET 1 2184 680
WIRE 592 -288 512 -288
WIRE 1024 -288 960 -288
WIRE 1376 -288 1280 -288
WIRE 1440 -288 1376 -288
WIRE 592 -192 592 -208
WIRE 592 -192 224 -192
WIRE 816 -192 592 -192
WIRE 1024 -192 1024 -208
WIRE 1024 -192 816 -192
WIRE 1232 -192 1024 -192
WIRE 1440 -192 1440 -208
WIRE 1440 -192 1232 -192
WIRE 2128 -192 1440 -192
WIRE 1024 -176 1024 -192
WIRE 1440 -176 1440 -192
WIRE 512 -112 512 -224
WIRE 512 -112 496 -112
WIRE 592 -112 512 -112
WIRE 224 -96 224 -192
WIRE 816 -96 816 -192
WIRE 960 -96 960 -224
WIRE 1024 -96 960 -96
WIRE 1232 -96 1232 -192
WIRE 1376 -96 1376 -224
WIRE 1440 -96 1376 -96
WIRE 496 -16 496 -32
WIRE 496 -16 336 -16
WIRE 2128 -16 2128 -192
WIRE 960 0 960 -96
WIRE 1376 0 1376 -96
WIRE 336 16 336 -16
WIRE 1552 16 1520 16
WIRE 1664 16 1616 16
WIRE 1712 16 1664 16
WIRE 1824 16 1792 16
WIRE 1920 16 1824 16
WIRE 2000 16 1920 16
WIRE 512 32 416 32
WIRE 1520 32 1520 16
WIRE 896 48 656 48
WIRE 1280 48 1280 -224
WIRE 1280 48 1104 48
WIRE 1312 48 1280 48
WIRE -80 64 -176 64
WIRE 48 64 -16 64
WIRE 112 64 48 64
WIRE 272 64 176 64
WIRE 2000 64 2000 16
WIRE 1664 80 1664 16
WIRE 1824 80 1824 16
WIRE 1920 80 1920 16
WIRE 336 128 336 112
WIRE 352 128 336 128
WIRE 416 128 416 112
WIRE 512 128 512 32
WIRE 48 144 48 128
WIRE 112 144 48 144
WIRE 224 144 224 -16
WIRE 224 144 176 144
WIRE 272 144 224 144
WIRE 336 144 336 128
WIRE 416 144 416 128
WIRE 656 144 656 128
WIRE 704 144 656 144
WIRE 816 144 816 -16
WIRE 816 144 704 144
WIRE 880 144 816 144
WIRE 960 144 960 96
WIRE 1008 144 960 144
WIRE 1104 144 1104 128
WIRE 1232 144 1232 -16
WIRE 1232 144 1104 144
WIRE 1296 144 1232 144
WIRE 1376 144 1376 96
WIRE 1424 144 1376 144
WIRE -176 224 -176 144
WIRE 48 224 48 144
WIRE 48 224 -176 224
WIRE 224 224 48 224
WIRE 272 224 272 208
WIRE 272 224 224 224
WIRE 336 224 272 224
WIRE 416 224 336 224
WIRE 512 224 512 192
WIRE 512 224 416 224
WIRE 816 224 512 224
WIRE 880 224 880 208
WIRE 880 224 816 224
WIRE 960 224 880 224
WIRE 1008 224 1008 208
WIRE 1008 224 960 224
WIRE 1232 224 1008 224
WIRE 1296 224 1296 208
WIRE 1296 224 1232 224
WIRE 1376 224 1296 224
WIRE 1424 224 1424 208
WIRE 1424 224 1376 224
WIRE 1520 224 1520 112
WIRE 1520 224 1424 224
WIRE 1664 224 1664 144
WIRE 1664 224 1520 224
WIRE 1824 224 1824 144
WIRE 1824 224 1664 224
WIRE 2000 224 2000 144
WIRE 2000 224 1824 224
WIRE 2128 224 2128 64
WIRE 2128 224 2000 224
WIRE 416 256 416 224
WIRE 704 384 704 144
WIRE 1920 384 1920 160
WIRE 1920 384 704 384
FLAG 416 256 0
FLAG 2000 16 Audio_out
SYMBOL npn 272 16 R0
WINDOW 0 60 21 Left 2
WINDOW 3 30 50 Left 2
SYMATTR InstName Q1
SYMATTR Value 2N3904
SYMBOL ind2 96 48 R0
WINDOW 0 -30 32 Left 2
WINDOW 3 -31 59 Left 2
SYMATTR InstName L1
SYMATTR Value 300μ
SYMATTR Type ind
SYMBOL ind2 192 48 M0
WINDOW 0 -26 32 Left 2
WINDOW 3 -39 55 Left 2
SYMATTR InstName L2
SYMATTR Value 10μ
SYMATTR Type ind
SYMBOL ind2 400 16 R0
WINDOW 0 40 40 Left 2
WINDOW 3 38 63 Left 2
SYMATTR InstName L3
SYMATTR Value 200μ
SYMATTR Type ind
SYMBOL ind2 400 128 R0
WINDOW 0 41 40 Left 2
WINDOW 3 39 64 Left 2
SYMATTR InstName L4
SYMATTR Value 50μ
SYMATTR Type ind
SYMBOL ind2 512 -16 R180
WINDOW 0 36 80 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName L5
SYMATTR Value 60μ
SYMATTR Type ind
SYMBOL ind2 576 -208 R0
WINDOW 0 59 40 Left 2
WINDOW 3 59 65 Left 2
SYMATTR InstName L6
SYMATTR Value 70μ
SYMATTR Type ind
SYMBOL ind2 576 -304 R0
WINDOW 0 65 40 Left 2
WINDOW 3 62 64 Left 2
SYMATTR InstName L7
SYMATTR Value 250μ
SYMATTR Type ind
SYMBOL res 320 128 R0
WINDOW 0 5 121 Left 2
WINDOW 3 5 148 Left 2
SYMATTR InstName R1
SYMATTR Value 1k
SYMBOL res 208 128 R0
WINDOW 0 -39 48 Left 2
WINDOW 3 -43 71 Left 2
SYMATTR InstName R2
SYMATTR Value 10k
SYMBOL res 208 -112 R0
SYMATTR InstName R3
SYMATTR Value 20k
SYMBOL cap 256 144 R0
WINDOW 0 26 10 Left 2
WINDOW 3 21 50 Left 2
SYMATTR InstName C1
SYMATTR Value 10n
SYMBOL cap 416 112 R90
WINDOW 0 0 40 VBottom 2
WINDOW 3 32 40 VTop 2
SYMATTR InstName C2
SYMATTR Value 1n
SYMBOL cap 496 128 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C3
SYMATTR Value 30p
SYMBOL cap 32 64 R0
WINDOW 0 -9 187 Left 2
WINDOW 3 -11 212 Left 2
SYMATTR InstName C4
SYMATTR Value 100p
SYMBOL cap 496 -288 R0
WINDOW 0 -53 30 Left 2
WINDOW 3 -58 54 Left 2
SYMATTR InstName C5
SYMATTR Value 200p
SYMBOL ind2 672 32 M0
WINDOW 0 -32 40 Left 2
WINDOW 3 -45 65 Left 2
SYMATTR InstName L8
SYMATTR Value 10μ
SYMATTR Type ind
SYMBOL npn 896 0 R0
SYMATTR InstName Q2
SYMATTR Value 2N3904
SYMBOL res 944 128 R0
WINDOW 0 0 116 Left 2
WINDOW 3 2 137 Left 2
SYMATTR InstName R4
SYMATTR Value 100
SYMBOL cap 992 144 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C6
SYMATTR Value 10n
SYMBOL res 800 -112 R0
SYMATTR InstName R5
SYMATTR Value 30k
SYMBOL res 800 128 R0
WINDOW 0 -42 46 Left 2
WINDOW 3 -37 74 Left 2
SYMATTR InstName R6
SYMATTR Value 10k
SYMBOL cap 864 144 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C7
SYMATTR Value 10n
SYMBOL ind2 1008 -192 R0
WINDOW 0 44 37 Left 2
WINDOW 3 45 64 Left 2
SYMATTR InstName L9
SYMATTR Value 70μ
SYMATTR Type ind
SYMBOL ind2 1008 -304 R0
WINDOW 0 42 51 Left 2
WINDOW 3 44 73 Left 2
SYMATTR InstName L10
SYMATTR Value 250μ
SYMATTR Type ind
SYMBOL ind2 1120 32 M0
WINDOW 0 -44 41 Left 2
WINDOW 3 -46 69 Left 2
SYMATTR InstName L11
SYMATTR Value 10μ
SYMATTR Type ind
SYMBOL cap 944 -288 R0
WINDOW 0 -45 27 Left 2
WINDOW 3 -47 51 Left 2
SYMATTR InstName C8
SYMATTR Value 200p
SYMBOL ind2 1504 16 R0
WINDOW 0 32 40 Left 2
WINDOW 3 33 64 Left 2
SYMATTR InstName L12
SYMATTR Value 20μ
SYMATTR Type ind
SYMBOL npn 1312 0 R0
SYMATTR InstName Q3
SYMATTR Value 2N3904
SYMBOL res 1360 128 R0
WINDOW 0 5 115 Left 2
WINDOW 3 4 137 Left 2
SYMATTR InstName R7
SYMATTR Value 100
SYMBOL cap 1408 144 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C9
SYMATTR Value 10n
SYMBOL res 1216 -112 R0
WINDOW 0 -28 16 Left 2
WINDOW 3 -28 41 Left 2
SYMATTR InstName R8
SYMATTR Value 20k
SYMBOL res 1216 128 R0
WINDOW 0 -40 43 Left 2
WINDOW 3 -39 68 Left 2
SYMATTR InstName R9
SYMATTR Value 10k
SYMBOL cap 1280 144 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C10
SYMATTR Value 10n
SYMBOL ind2 1424 -192 R0
WINDOW 0 43 41 Left 2
WINDOW 3 43 67 Left 2
SYMATTR InstName L13
SYMATTR Value 70μ
SYMATTR Type ind
SYMBOL ind2 1424 -304 R0
WINDOW 0 47 41 Left 2
WINDOW 3 44 70 Left 2
SYMATTR InstName L14
SYMATTR Value 250μ
SYMATTR Type ind
SYMBOL cap 1360 -288 R0
WINDOW 0 -9 -54 Left 2
WINDOW 3 -7 -24 Left 2
SYMATTR InstName C11
SYMATTR Value 200p
SYMBOL diode 1616 0 R90
WINDOW 0 -32 32 VBottom 2
WINDOW 3 -30 11 VTop 2
SYMATTR InstName D1
SYMATTR Value 1N914
SYMBOL cap 1648 80 R0
WINDOW 0 37 19 Left 2
WINDOW 3 39 54 Left 2
SYMATTR InstName C12
SYMATTR Value 10n
SYMBOL res 1984 48 R0
SYMATTR InstName R10
SYMATTR Value 10k
SYMBOL voltage 2128 -32 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 4
SYMBOL voltage -176 48 R0
WINDOW 123 27 126 Left 2
WINDOW 39 24 154 Left 2
WINDOW 3 15 96 Left 2
SYMATTR Value2 AC 1
SYMATTR SpiceLine Rser=10000
SYMATTR Value SINE(0 1m 919k)
SYMATTR InstName V2
SYMBOL cap -16 48 R90
WINDOW 0 0 40 VBottom 2
WINDOW 3 32 40 VTop 2
SYMATTR InstName C13
SYMATTR Value 0.3p
SYMBOL cap 1264 -288 R0
SYMATTR InstName C14
SYMATTR Value 1p
SYMBOL res 1808 0 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R11
SYMATTR Value 510
SYMBOL cap 1808 80 R0
SYMATTR InstName C15
SYMATTR Value 10n
SYMBOL res 1904 64 R0
SYMATTR InstName R12
SYMATTR Value 10k
TEXT 88 0 Left 2 !K1 L1 L2 1
TEXT 408 296 Left 2 !K2 L3 L4 L5 1
TEXT 504 -336 Left 2 !K3 L6 L7 L8 1
TEXT 952 -312 Left 2 !K4 L9 L10 L11 1
TEXT 1472 -312 Left 2 !K5  L12 L13 L14 1
TEXT -104 -288 Left 2 !.tran 3m
TEXT -104 -256 Left 2 !;ac oct 1000 300k 2meg
TEXT -136 32 Left 2 ;0db
TEXT 64 40 Left 2 ;3db
TEXT 152 40 Left 2 ;-12db
TEXT 504 -312 Left 2 ;465khz:-30db
TEXT 712 24 Left 2 ;465khz:-39db
TEXT 968 -64 Left 2 ;465khz:-16db
TEXT 1048 24 Left 2 ;465khz:-24db
TEXT 1384 -72 Left 2 ;465khz:55db
TEXT 1384 -8 Left 2 ;465khz:49db
TEXT 1568 -72 Left 2 ;Envelope detector
TEXT 1536 368 Left 2 ;Automatic Gain Control (AGC)
TEXT 704 480 Left 2 ;ref: http://www.crystalradio.cn/forum.php?mod=viewthread&tid=1828174&extra=page%3D2\n \nxiaolaba\n2020-FEB-05\nadd AGC\nsuperhet AM radio\nANSI source code : https://github.com/xiaolaba/LTSpice_XVII_UTF16_LE_format_AM_radio_AGC
LINE Normal 624 -112 624 -272 2
LINE Normal 624 32 624 -112 2
LINE Normal 624 128 624 32 2
LINE Normal 464 208 464 -80 2
LINE Normal 144 144 144 64 2
LINE Normal 1072 -48 1072 -272 2
LINE Normal 1072 64 1072 -48 2
LINE Normal 1072 128 1072 64 2
LINE Normal 1488 112 1488 -272 2

 

-END

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.