Нэг өдөр би програм хангамж дангаараа механик болж хувирсныг ойлгосон. Би энгийн байдалд дуртай болсон бөгөөд асуудлууд нь суралцах туршлагаас илүүтэйгээр, жинхэнэ задгайрлаас илүүтэйгээр хиймэл ажилтай төстэй болж эхэлсэн. Би үргэлж хийсвэрээр ажилладаг байснаа ойлгосон. Би заримдаа тойрч явахдаа олон кибер аюулгүй байдал/пентестинг гэрчилгээ авсан, мөн тэр нь сонирхолтой байсан. Гэхдээ эцэст нь энэ нь надад таалагдаагүй. Би биет ертөнцийг мэдрэх хэрэгтэйг ойлгосон. Биет үзэгдлүүдтэй харилцах. Тиймээс, би ELI (цахилгаан соронзон хайх интерфейс) -ийг барьж эхэлсэн. RF, DSP, тэгшитгэл, дуу чимээ, Raspberry Pi-тэй SDR-ээс эхэлнэ. Энэ нь дээд талд нь өндөр уул бөгөөд би гүн нүхний ёроолд байна. Эдгээр нийтлэлүүд нь миний аялал хийх явцад сурч авсан ойлголтуудыг шингээж, тайлбарлах арга зам юм. Учир нь, би сурч авсан зүйлээ тайлбарлаж чадвал, энэ нь илүү сайн тогтох болно. Би одоогоор судалж буй ном бол Ричард Лайонсын "Дижитал дохионы боловсруулалтыг ойлгох" юм. Энэ бол сайн ном бөгөөд би үүнийг нь дуртай. Би анги тус бүрээр дамжин ойлголтуудыг болон сурч авсан зүйлээ тайлбарлахыг хичээх болно. Энэ нь миний сурах аялал дахь миний "t"-г хөндөж, "i"-г цэгцлэх хэрэгсэл болж байна. Энэ цувралтай хамт, би шаардлагатай зүйлсийг шууд код блокууд эсвэл дэвшилтэт үед нь, репо өгөх болно. Би Rust-д код бичдэг. Үүнтэй хамт, эхэлье. Тасархай дараалал ба тэмдэглэгээ : цаг хугацааны хувьсагч нь тоон утгатай бөгөөд зөвхөн тасархай мөчүүдэд л мэдэгддэг. тасархай цаг хугацааны дохио Тэгэхээр, гэж юу вэ? Энгийнээр хэлэхэд энэ нь үргэлжилсэн байдлаас илүүтэйгээр тус тусын хэсэгт хуваагдсан зүйл юм. тасархай Тиймээс, нь тодорхой мөчид тодорхойлогдсон үргэлжилсэн дохио юм. тасархай цаг хугацааны дохио гэж юу вэ? Таны систем хэмжиж чадах хамгийн ойрын утга руу хэмжилтийг тойрох. Тоон утгатай Тиймээс хамтдаа нь таны систем хэмжиж чадах газарт багтсан үргэлжилсэн дохионы хэсгүүдийг цуглуулж байгаа юм. Академийн нэр томьёоны ихэнхтэй адил, энэ нь маш энгийн санааны төлөө маш тансаг сонсогдох нэр томьёон юм. тасархай цаг хугацааны дохио Үүнийг дүрсэлж үзье: Тасралтгүй шугам нь аналог, урсгалтай, зогсохгүй, төгсгөлгүй. Цэг ба шугамууд нь систем хэмжиж, ойлгож чадах тэр шугамын тасархай хэсгийг илэрхийлдэг. Бид үүнийг яагаад хийх хэрэгтэй вэ? Компьютерүүд тогтмол зайтай, ts секундын хугацаанд дээжийг авах хэрэгтэй (s нь дээжийг илэрхийлнэ, t нь дээж авсан хугацааг илэрхийлнэ). Иймэрхүү тэгшитгэл нь цаасан дээр ямар харагддаг вэ? Үүнийг задлая: - цаг ( нь дээжний тоо) -д хэмжигдсэн үргэлжилсэн дохионы утга x[n] n n - давтамж f0 - дээж авах давтамж fs Энэ нь маш энгийн. Тиймээс, үүнийг код (rust) руу хөрвүүлж, санааг ойлгуулцгаая: use std::f64::consts::PI; fn main() { let f0 = 2.0; let fs = 12.0; let n_samples = 100; let mut signal = Vec::with_capacity(n_samples); for n in 0..n_samples { let n = n as f64; let sample = (2.0 * PI * f0 * n / fs).sin(); signal.push(sample); } println!("{:?}", signal); } Тэмдэглэгээ нь үнэхээр саад болж байна. Давтамжийн домэйн Дээрх, тасралтгүй аналог шугам ба тасархай цэгүүд нь цаг хугацааны домэйнд оршдог. Одоо, бид -ийг судлах ёстой. давтамжийн домэйн Үүний дүрсийг үзье: Эдгээр домэйнуудыг ялгаатай нь салгая: цаг хугацааны домэйн: дохио цаг хугацаанд юу хийдэг вэ? давтамжийн домэйн: дохионд ямар давтамжууд байдаг ба тэдгээр нь хэр хүчтэй вэ? Энэ үед, бид амплитуд ба хүчийг ялгах ёстой: амплитуд: хувьсагч тэгээс хэр хол, ямар чиглэлд байна хүч: хувьсагч тэгээс хэр хол байна Ялгаа нь амплитуд нь сөрөг эсвэл эерэг байж болох ба хүч нь үргэлж эерэг байдаг. Давтамжийн домэйн графикууд нь юу байдаг, хэр болохыг энгийнээр хэлдэг тул маш хэрэгтэй. хүчирхэг Блокийн диаграм Блокийн диаграм нь дохио системээр хэрхэн дамждагийг тайлбарлах энгийн дүрслэл юм. Блок бүр нь дохионд хийгдэх үйлдлийг илэрхийлдэг бөгөөд сумнууд нь дохио дараагийн шатанд хэрхэн урсдагийг харуулдаг. DSP блок нь ихэвчлэн гурван зүйлийг агуулдаг: дохионууд (дамжиж буй өгөгдөл) блокууд (хийгдсэн үйлдлүүд) сумнууд (дохионы чиглэл) Дүрслэл Ердийн нийлбэр болох блоконд дараах зүйлийг харах болно гэдгийг тэмдэглэхийг хүсч байна: Σ тэмдэг (сигма) нь математикийн тэмдэглэгээнд 'нийлбэр' гэсэн утгыг илэрхийлдэг. Энэ нь бодит байдлаас илүү аймшигтай харагддаг тул үүнийг кодаар дүрсэлье: fn main() { let x1 = vec![1.0, 2.0, 3.0, 4.0]; let x2 = vec![0.5, 1.0, 1.5, 2.0]; let x3 = vec![2.0, 2.0, 2.0, 2.0]; let mut y = Vec::with_capacity(x1.len()); for n in 0..x1.len() { let y_n = x1[n] + x2[n] + x3[n]; y.push(y_n); } println!("y = {:?}", y); } Маш энгийн. Дахин хэлэхэд, саад нь тэмдгүүд юм. Код руу орвол, энэ нь үнэхээр энгийн. Тасархай шугаман хугацаанаас хамаарахгүй систем Бид тасархайг дээрээс тодорхойлсон, тиймээс шугаман руу орцгооё: Хэмжээс нь хүлээгдэж байсан шиг ажилладаг хэмжээсний оролт нь ижил хэмжээгээр гаралтаа хэмждэг. Оролтуудыг нэмэх нь гарагуудыг нэмнэ хосолсон оролтууд = ижил аргаар хосолсон гаралт. Тасархай шугаман дохиог дүрсэлж үзье Хугацаанаас хамаарахгүй систем Хугацаанаас хамаарахгүй систем гэдэг нь оролтод хойшлуулах/шилжүүлэх нь гаралтад ижил хойшлуулалтыг үүсгэдэг систем юм. Ойлголтыг харуулахын тулд, доорх нь тасархай шугаман хугацаанаас хамаарахгүй системийн дүрслэл юм Тасархай шугаман хугацаанаас хамаарахгүй системүүд нь тэдний тогтвортой ажилладаг тул чухал юм. Шугаман байдлаараа, дохиог систем боловсруулж буй байдлыг өөрчлөхгүйгээр хэмжих/хослуулж болно. Хугацаанаас хамаарахгүй байдал нь систем нь дохио гарч ирсэн цаг хугацаанаас үл хамааран ижил аргаар хариу үйлдэл үзүүлдэг гэсэн үг. Эдгээр шинж чанарууд нь төвөгтэй дохиудыг энгийн дохиудын хослолоос ойлгох боломжийг олгодог. Энэ нь шүүлтүүр ба давтамжийн шинжилгээ гэх мэт хэрэгслүүдтэй шинжилгээ ба боловсрууллыг хялбар болгодог. Үүнтэй хамт, дохионы боловсруулалтын системүүд нь ихэвчлэн -ийг харуулдаг. Энэ нь зарим үйлдлүүдийн дараалал нь үр дүнг өөрчлөхгүй гэсэн үг. commutative property : хоёр дохиог хамт нэмэх нь эхлээд аль дохиог нэмсэнээс үл хамааран ижил гаралт өгдөг. Маш энгийн мэт санагддаг ч, энэ нь инженерүүдэд үр дүнг өөрчлөхгүйгээр дохионы боловсруулалтын системийн хэсгүүдийг дахин зохион байгуулах боломжийг олгодог. Систем нь төвөгтэй болж ирэхэд, үйлдлүүдийг дахин зохион байгуулах чадвар нь шинжилгээг хялбарчлах, үр дүнтэй хэрэгжүүлэхэд тустай болдог. Жишээ Нөлөөллийн хариу үйлдэл DSP дахь маш хүчирхэг ойлголт бол LTI (шугаман хугацаанаас хамаарахгүй) систем нь хариу үйлдэлээр бүрэн тодорхойлогдож болно. Үүнийг илүү сайн тодорхойлохын тулд, нөлөөлөл нь системийн ажиллагааг шалгахын тулд ашигладаг маш богино оргилолт юм. нөлөөллийн Хэрэв бид систем рүү нөлөөллийг оруулж, түүний гаралтыг харвал, бид -ийг авдаг. Авсан бол, бид систем нь бүх оролтын дохионд хэрхэн хариу үйлдэл үзүүлэхийг тодорхойлж чадна. Төгс эцсийн гаралтыг бий болгохын тулд хувь нөлөөлөлд системүүдийн хариу үйлдлүүдийг нэмж болно. Энэ процессыг гүйцэтгэдэг математикийн ажиллагаа нь юм. нөлөөллийн хариу үйлдэл convolution Бодит ертөнцийн convolution жишээ 1. Өрөөний акустик Аудио инженер тодорхой нэг өрөө хөгжимд хэрхэн нөлөөлдөгийг ойлгохыг хүсэх үед, тэд богино нөлөөллийг (балон хагарах, алга таших, тэдний зоригтой байвал эхлэлийн буу) үүсгэдэг. Тэр цаг үеийн эсвэл нөлөөлөл нь өргөн хүрээний давтамжуудыг агуулдаг. Өрөө даяарх микрофонууд бичиглэж, богино нөлөөлөл нь reverberation, дууны давтамж, давтамжийн корреляцийг илчилдэг. Акустикийн орчин үеийн програм хангамж нь өрөөний дууг симуляци хийхийн тулд энэ нөлөөллийг ихэвчлэн ашигладаг. 2. Механик инженерүүд Механик инженерүүд гэдэг процессыг хийдэг. Хэрэв тэд машин эсвэл бүтцийн хэрхэн чичирдэгийг мэдхийг хүсвэл, тэд тоноглогдсон алхаар цохиж, богино нөлөөлөл өгдөг. Машин эсвэл бүтцэд хавсаргасан мэдрэгчүүд нөлөөллийн чичирхийллийг хэмждэг. Нөлөөллийн чичирхийллүүд нь системийн байгалийн давтамж ба дамжуулах шинж чанарыг илчилдэг бөгөөд энэ нь инженерт систем нь олон тооны ажиллагааны нөхцөлд хэрхэн ажиллахыг хэлдэг. модалын туршилт 3. Цахилгаан инженерүүд Цахилгаан инженерүүд мөн нөлөөллийн туршилтыг хийдэг. Аналог хэлхээнд, шүүлтүүр эсвэл өсгөгчид маш богино хүчдэлийн цохилтыг өгч, цаг хугацааны туршид гаралт нь хэмжигддэг. Энэ нөлөөллөөс гарсан долгион, EE-үүд систем нь нөлөөлөлд хэрхэн боловсруулдаг, ямар давтамжуудыг нь өсгөдгийг тодорхойлж чадна. Энэ нь сурах, тайлбарлах эхний ангийг дуусгаж байна. Энэ нь их зүйл, гэхдээ аажмаар хялбар болж байна. Үүнийг хийх явцад би жижиг ялалтуудыг үнэлэх хэрэгтэйг ойлгосон. Ойлголтын жижиг товшилтууд. Энэ сурах явцад хурдан ялалт байхгүй, энэ нь тэвчээртэй байх шаардлагатай. Их хүч шаарддаг ч, эдгээр нийтлэлийг хийх нь миний ангийн мэдлэгийг шингээх гайхалтай арга зам бөгөөд сониуч хүмүүст хуваалцаж магадгүй юм. Дүгнэлт Энэ нь эхний ангийн бүх зүйл биш байсан, зөвхөн миний чухал гэж үзсэн ойлголтууд байсан. Би үүнд маш их шинэхэн, тиймээс хэрэв танд залруулга байвал, та 100% сэтгэгдэл үлдээж болно, би нийтлэлийг залруулна. Энэ нь миний өөрийн ойлголтыг бататгах зорилготойгоор олон нийтэд бичиж байгаа хэсэг юм, ингэснээр би хэтэрхий тэнэг харагдахгүй байх урам зоригтой болно. Зөвхөн бага зэрэг тэнэг. Би номын ангиудыг дамжин бичихээ үргэлжлүүлэх болно, учир нь энэ нь надад ашигтай гэж бодож байна. Хэн нэгэн үүнийг хэрэгтэй гэж олж байвал гоё байх байсан. Энэ үйл явцад, жижиг ялалтууд нь чухал болохыг хэлэх болно. Энэ процесс нь удаан, гэсэн хэдий ч энэ жижиг ойлголтууд нь ууланд авирахдаа авдаг жижиг шагнал юм. Энэ бүгд нь энгийн урам зоригтойгоор хэрэглээний мэдлэгийг олж авах, илүү их ур чадвар эзэмших, ертөнцийг илүү сайн ойлгох зорилготой юм. Өдрийн төгсгөлд, заримдаа энэ нь хамгийн тогтвортой урам зориг юм.