Software Defined Radio เป็นวิธีหนึ่งในการแทนที่งานโลหะ (ซึ่งดีต่อสุขภาพของคุณจริงๆ) ด้วยความปวดหัวในการเขียนโปรแกรม SDR ทำนายอนาคตที่ดีและข้อได้เปรียบหลักถือเป็นการขจัดข้อ จำกัด ในการใช้งานโปรโตคอลวิทยุ ตัวอย่างคือวิธีการมอดูเลต OFDM (มัลติเพล็กซ์แบบแบ่งความถี่มุมฉาก) ซึ่งสามารถทำได้โดยวิธี SDR เท่านั้น แต่ SDR ยังมีโอกาสทางวิศวกรรมอีกอย่างหนึ่ง นั่นคือความสามารถในการควบคุมและแสดงภาพสัญญาณ ณ จุดใดๆ ก็ได้โดยใช้ความพยายามน้อยที่สุด
หนึ่งในมาตรฐานการสื่อสารที่น่าสนใจคือโทรทัศน์ภาคพื้นดินภาคพื้นดิน DVB-T2
เพื่ออะไร? แน่นอนคุณสามารถเปิดทีวีได้โดยไม่ต้องลุกขึ้น แต่ไม่มีอะไรให้ดูอย่างแน่นอนและนี่ไม่ใช่ความคิดเห็นของฉันอีกต่อไป แต่เป็นข้อเท็จจริงทางการแพทย์
จริงๆ แล้ว DVB-T2 ได้รับการออกแบบให้มีความสามารถที่หลากหลายมาก รวมไปถึง:
ฉันมีประสบการณ์ในการรับโทรทัศน์ระบบดิจิตอลโดยใช้หลักการ SDR มาตรฐาน DVB-T อยู่ในโครงการ GNURadio ที่รู้จักกันดี มีบล็อก gr-dvbs2rx สำหรับมาตรฐาน DVB-T2 (ทั้งหมดสำหรับ GNURadio เดียวกัน) แต่ต้องมีการซิงโครไนซ์สัญญาณเบื้องต้นและสร้างแรงบันดาลใจ (ขอขอบคุณเป็นพิเศษสำหรับ Ron Economos)
สิ่งที่เรามี
มีมาตรฐาน ETSI EN 302 755 ที่ให้รายละเอียดการส่งสัญญาณ แต่ไม่มีการรับสัญญาณ
สัญญาณอยู่ในอากาศด้วยความถี่สุ่มตัวอย่าง 9,14285714285714285714 MHz มอดูเลตโดย COFDM พร้อมด้วยพาหะ 32768 ตัว ในย่านความถี่ 8 MHZ
ขอแนะนำให้รับสัญญาณดังกล่าวด้วยความถี่การสุ่มตัวอย่างเป็นสองเท่า (เพื่อไม่ให้สูญเสียสิ่งใด) และแบนด์วิธที่มากขึ้น (การรับซูเปอร์เฮเทอโรไดน์) ที่ความถี่กลางเพื่อกำจัดออฟเซ็ตกระแสตรง (DC) และ "การรั่วไหล" ของออสซิลเลเตอร์ในพื้นที่ (LO) ไปยังอินพุตตัวรับ อุปกรณ์ที่ตรงตามเงื่อนไขเหล่านี้มีราคาแพงเกินไปสำหรับความอยากรู้อยากเห็น
SdrPlay ที่มี 10Msps 10 บิตหรือ AirSpy ที่มีลักษณะคล้ายกันนั้นราคาถูกกว่ามาก ไม่ต้องสงสัยเลยว่าความถี่ในการสุ่มตัวอย่างจะเพิ่มขึ้นเป็นสองเท่าที่นี่ และการรับสัญญาณสามารถทำได้ด้วยการแปลงโดยตรงเท่านั้น (Zero IF) ดังนั้น (ด้วยเหตุผลทางการเงิน) เราจึงเปลี่ยนไปใช้ด้านข้างของ SDR "บริสุทธิ์" โดยมีการแปลงฮาร์ดแวร์ขั้นต่ำ
จำเป็นต้องแก้ไขปัญหาสองประการ:
- การซิงโครไนซ์ ค้นหาค่าเบี่ยงเบน RF ที่แม่นยำของเฟสและการเบี่ยงเบนความถี่สุ่มตัวอย่าง
- เขียนมาตรฐาน DVB-T2 กลับไปด้านหลัง
ภารกิจที่สองต้องใช้โค้ดมากกว่ามาก แต่สามารถแก้ไขได้ด้วยความเพียรพยายามและสามารถตรวจสอบได้อย่างง่ายดายโดยใช้สัญญาณทดสอบ
สัญญาณการทดสอบมีอยู่ในเซิร์ฟเวอร์ BBC ftp://ftp.kw.bbc.co.uk/t2refs/ พร้อมคำแนะนำโดยละเอียด
การแก้ปัญหาแรกนั้นขึ้นอยู่กับลักษณะของอุปกรณ์ SDR และความสามารถในการควบคุมเป็นอย่างมาก ตามที่กล่าวไว้ การใช้ฟังก์ชันควบคุมความถี่ที่แนะนำไม่ประสบผลสำเร็จ แต่ให้ประสบการณ์มากมายในการอ่านฟังก์ชันเหล่านั้น เอกสาร การเขียนโปรแกรม ดูละครโทรทัศน์ แก้คำถามเชิงปรัชญา... พูดง่ายๆ ก็คือ เป็นไปไม่ได้ที่จะละทิ้งโปรเจ็กต์นี้
ศรัทธาใน "SDR บริสุทธิ์" ยิ่งแข็งแกร่งขึ้นเท่านั้น
เรารับสัญญาณตามที่เป็นอยู่ สอดแทรกมันเกือบจะเป็นอะนาล็อกแล้วนำสัญญาณที่แยกออกมา แต่คล้ายกับของจริง
แผนภาพบล็อกการซิงโครไนซ์:
ทุกอย่างที่นี่เป็นไปตามตำราเรียน ถัดไปมีความซับซ้อนมากขึ้นเล็กน้อย จำเป็นต้องคำนวณการเบี่ยงเบน มีวรรณกรรมและบทความวิจัยมากมายที่เปรียบเทียบข้อดีและข้อเสียของวิธีการต่างๆ จากคลาสสิก - นี่คือ "Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, การออกแบบตัวรับที่เหมาะสมที่สุดสำหรับการส่งสัญญาณบรอดแบนด์ที่ใช้ OFDM - ตอนที่ I และ II" แต่ฉันไม่พบวิศวกรสักคนเดียวที่สามารถและต้องการนับจำนวนได้ ดังนั้นจึงใช้แนวทางทางวิศวกรรม โดยใช้วิธีการซิงโครไนซ์แบบเดียวกัน การปรับจูนจึงถูกนำมาใช้ในสัญญาณทดสอบ โดยการเปรียบเทียบเมตริกต่างๆ กับการเบี่ยงเบนที่ทราบ (เขาแนะนำตัวเอง) เมตริกที่ดีที่สุดจึงถูกเลือกในด้านประสิทธิภาพและความง่ายในการใช้งาน ส่วนเบี่ยงเบนความถี่ในการรับสัญญาณคำนวณโดยการเปรียบเทียบช่วงป้องกันกับส่วนที่ทำซ้ำ เฟสของความถี่ในการรับและความถี่ในการสุ่มตัวอย่างประเมินจากการเบี่ยงเบนเฟสของสัญญาณนำร่อง และยังใช้ในอีควอไลเซอร์เชิงเส้นแบบธรรมดาของสัญญาณ OFDM อีกด้วย
ลักษณะอีควอไลเซอร์:
และทั้งหมดนี้ใช้งานได้ดีหากคุณรู้ว่าเมื่อใดที่เฟรม DVB-T2 เริ่มทำงาน เมื่อต้องการทำเช่นนี้ สัญลักษณ์นำหน้า P1 จะถูกส่งไปในสัญญาณ วิธีการตรวจจับและถอดรหัสสัญลักษณ์ P1 มีอธิบายไว้ในข้อกำหนดทางเทคนิค ETSI TS 102 831 (ยังมีคำแนะนำที่เป็นประโยชน์มากมายสำหรับการรับสัญญาณ)
ความสัมพันธ์อัตโนมัติของสัญญาณ P1 (จุดสูงสุดที่จุดเริ่มต้นของเฟรม):
ภาพแรก (เหลือเวลาอีกเพียงหกเดือนเท่านั้นก่อนที่จะมีภาพเคลื่อนไหว...):
และนี่คือที่ที่เราเรียนรู้ว่าความไม่สมดุลของ IQ, DC offset และการรั่วไหลของ LO คืออะไร ตามกฎแล้ว การชดเชยสำหรับการบิดเบือนเหล่านี้โดยเฉพาะสำหรับการแปลงโดยตรงจะถูกนำไปใช้ในไดรเวอร์อุปกรณ์ SDR ดังนั้นจึงใช้เวลานานในการทำความเข้าใจ: การล้มดาวออกจากกลุ่มดาว QAM64 ที่เป็นมิตรนั้นเป็นหน้าที่ของฟังก์ชันการชดเชย ฉันต้องปิดทุกอย่างและเขียนจักรยานของฉัน
แล้วภาพก็เคลื่อนไหว:
การปรับ QAM64 พร้อมการหมุนกลุ่มดาวเฉพาะในมาตรฐาน DVB-T2:
กล่าวโดยสรุป นี่คือผลลัพธ์ของการส่งเนื้อสับกลับผ่านเครื่องบดเนื้อ มาตรฐานกำหนดให้มีการผสมสี่ประเภท:
- สลับกันเล็กน้อย
- การสลับเซลล์ (การผสมเซลล์ในบล็อกการเข้ารหัส)
- การสลับเวลา (อยู่ในกลุ่มของบล็อกการเข้ารหัสด้วย)
- การสลับความถี่ (ความถี่ผสมในสัญลักษณ์ OFDM)
เป็นผลให้เรามีสัญญาณต่อไปนี้ที่อินพุต:
ทั้งหมดนี้เป็นการต่อสู้เพื่อภูมิคุ้มกันทางเสียงของสัญญาณที่เข้ารหัส
ทั้งหมด
ตอนนี้เราไม่เพียงมองเห็นสัญญาณและรูปร่างเท่านั้น แต่ยังรวมถึงข้อมูลการบริการด้วย
มีมัลติเพล็กซ์สองตัวที่ออกอากาศ แต่ละช่องมีฟิสิคัลแชนเนล (PLP) สองช่อง
สังเกตเห็นสิ่งแปลกประหลาดอย่างหนึ่งในมัลติเพล็กซ์แรก - PLP แรกมีป้ายกำกับว่า "หลายรายการ" ซึ่งเป็นตรรกะ เนื่องจากมีมากกว่าหนึ่งรายการในมัลติเพล็กซ์ และ PLP ตัวที่สองมีป้ายกำกับว่า "เดี่ยว" และนี่คือคำถาม
สิ่งที่น่าสนใจยิ่งกว่านั้นคือความแปลกประหลาดที่สองในมัลติเพล็กซ์ที่สอง - โปรแกรมทั้งหมดอยู่ใน PLP แรก แต่ใน PLP ที่สองมีสัญญาณของลักษณะที่ไม่รู้จักที่ความเร็วต่ำ อย่างน้อยเครื่องเล่น VLC ที่เข้าใจรูปแบบวิดีโอประมาณห้าสิบรูปแบบและเสียงในปริมาณเท่ากันจะไม่รู้จักมัน
โครงการนี้สร้างขึ้นโดยมีเป้าหมายเพื่อพิจารณาความเป็นไปได้ในการถอดรหัส DVB-T2 โดยใช้ SdrPlay (และปัจจุบันคือ AirSpy) ดังนั้นจึงไม่ใช่เวอร์ชันอัลฟ่าด้วยซ้ำ
ป.ล. ในขณะที่ฉันกำลังเขียนบทความด้วยความยากลำบาก ฉันสามารถรวม PlutoSDR เข้ากับโครงการได้
บางคนจะพูดทันทีว่าสัญญาณ IQ ที่เอาต์พุต USB6 มีเพียง 2.0Msps แต่คุณต้องมีอย่างน้อย 9,2Msps แต่นี่เป็นหัวข้อแยกต่างหาก
ที่มา: will.com