中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

手機網(wǎng)站設(shè)計模板營銷推廣方法有哪些

手機網(wǎng)站設(shè)計模板,營銷推廣方法有哪些,鄭州短視頻代運營公司,企業(yè)網(wǎng)站特點分析與描述OpenIPC開源FPV之Adaptive-Link天空端代碼解析 1. 源由2. 框架代碼3. 報文處理3.1 special報文3.2 普通報文 4. 工作流程4.1 Profile 競選4.2 Profile 研判4.3 Profile 應(yīng)用 5. 總結(jié)6. 參考資料7. 補充資料7.1 RSSI 和 SNR 的物理含義7.2 信號質(zhì)量加權(quán)的理論依據(jù)7.3 實際應(yīng)用中…

OpenIPC開源FPV之Adaptive-Link天空端代碼解析

  • 1. 源由
  • 2. 框架代碼
  • 3. 報文處理
    • 3.1 special報文
    • 3.2 普通報文
  • 4. 工作流程
    • 4.1 `Profile` 競選
    • 4.2 `Profile` 研判
    • 4.3 `Profile` 應(yīng)用
  • 5. 總結(jié)
  • 6. 參考資料
  • 7. 補充資料
    • 7.1 RSSI 和 SNR 的物理含義
    • 7.2 信號質(zhì)量加權(quán)的理論依據(jù)
    • 7.3 實際應(yīng)用中的加權(quán)方法
    • 7.4 加權(quán)方法的優(yōu)化
    • 7.5 綜合考慮信號質(zhì)量的模型
    • 7.6 8812EU WiFi模塊

1. 源由

在《OpenIPC開源FPV之Adaptive-Link工程解析》中,已經(jīng)有了整個工程的大體概念,接下來再對代碼進行逐步分析。

首先,對天空端的代碼進行分析:ALink42n.c

2. 框架代碼

ALink42n.c相對來說,代碼量最少,也是最為基本的一份代碼。

目前,尚不太清楚具體n/p/q之間的差異,邏輯上看應(yīng)該是關(guān)于切換配置profile的條件計算方式不太一樣,對于穩(wěn)定性、可靠性方面應(yīng)該有所差異。

  • The relationship between .c and binary files #7

注:感興趣的朋友,可以跟下帖子,不過隨著代碼的深入了解,以及性能測試數(shù)據(jù),也能慢慢明晰之間的差異。

  • 加載配置 - “/etc/alink.conf”
  • 加載Profile - “/etc/txprofiles.conf”
  • majestic:80
  • wfb-cli:8000
  • Terminal:bash
  • 綁定默認IP - 10.5.0.10:9999

n/p/q只有q寫的是10.5.0.10,其他是10.5.0.2,應(yīng)該有筆誤。

  • 接受兩種UDP報文:special報文和普通報文
main├──> load_config(CONFIG_FILE); // "/etc/alink.conf"├──> load_profiles(PROFILE_FILE); // "/etc/txprofiles.conf"├──> bind DEFAULT_IP(10.5.0.10) DEFAULT_PORT(9999)├──>loop recvfrom│   ├──> <special:> special_command_message(message);│   └──> process_message(message);└──> close(sockfd);

3. 報文處理

+--------------+---------------+-------------+
|              | special? (8B) | Msg content |
| Msg len (4B) |---------------+-------------|
|              | RF Signal Estimated Values  |
+--------------+---------------+-------------+

3.1 special報文

  • 報文格式:
+--------------+---------------+-------------+
| Msg len (4B) | special? (8B) | Msg content |
+--------------+---------------+-------------+
  • 代碼流程:

處理pause_adaptive/resume_adaptive/request_keyframe命令

special_command_message├──> "pause_adaptive"│   └──> paused = true├──> "resume_adaptive"│   └──> paused = false├──> "drop_gop"│   └──> // 已經(jīng)注釋掉,代碼暫時保留├──> "request_keyframe"│   └──> < > request_keyframe_interval_ms> `idrCommand`└──> "Unknown"

3.2 普通報文

  • 報文格式:
+--------------+------------------+-----------------+----------------+-----------+------+-------+-------+---------------+
| Msg len (4B) | transmitted_time | link_value_rssi | link_value_snr | recovered | lost | rssi1 | rssi2 | rssi3 | rssi4 |
+--------------+------------------+-----------------+----------------+-----------+------+-------+-------+---------------+
  • 代碼流程:

解析地面端報文反饋的RF信號參數(shù),比如:RSSI/SNR等

process_message├──> [index/token parse]│   ├──> <0> transmitted_time = atoi(token);│   ├──> <1> link_value_rssi = atoi(token);│   ├──> <2> link_value_snr = atoi(token);│   ├──> <3> recovered = atoi(token);│   ├──> <4> lost = atoi(token);│   ├──> <5> rssi1 = atoi(token);│   ├──> <6> rssi2 = atoi(token);│   ├──> <7> rssi3 = atoi(token);│   ├──> <8> rssi4 = atoi(token);│   └──> <.> Ignore extra tokens├──> <!time_synced> settimeofday(&tv, NULL)└──> <!paused> start_selection(link_value_rssi, link_value_snr);

4. 工作流程

4.1 Profile 競選

當(dāng) 2.1 paused 為 false 時,滿足觸發(fā)條件則進行 start_selection

start_selection├──> <selection_busy> return├──> <rssi_score == 999> value_chooses_profile(999); // Default settings│   └──> return├──> int combined_value = floor(rssi_score * w_rssi + snr_score * w_snr);├──> constrain(1000, 2000, combined_value)├──> float percent_change = fabs((float)(value - baseline_value) / baseline_value) * 100;└──> <percent_change >= hysteresis_percent>└──> <time_diff_ms >= min_between_changes_ms> value_chooses_profile(value); // apply new settings

注:這里采用了 rssisnr 權(quán)重方式。

4.2 Profile 研判

當(dāng) Profile 競選成功后,在實際應(yīng)用時,需要檢查觸發(fā)條件,比如:如果當(dāng)前為需要切換的 Profile則無需觸發(fā)。

value_chooses_profile├──> Profile* selectedProfile = get_profile(input_value);├──> [Find the index of the selected profile]├──> <previousProfile == currentProfile> return // no changes├──> <previousProfile == 0 && timeElapsed <= hold_fallback_mode_s> return // first profile in fallback time├──> <(currentProfile - previousProfile == 1) && timeElapsed <= hold_modes_down_s> // just one step difference in hold time└──> apply_profile(selectedProfile)

無縫的觸發(fā)場景判斷,能夠確保信號的穩(wěn)定傳輸和平滑切換:

  • what’s the difference between hold_fallback_mode_s and hold_modes_down_s? #9

4.3 Profile 應(yīng)用

這里需要注意幾個細節(jié):

  • 功率增加/減小其命令執(zhí)行順序不一致
  • 綜合信號質(zhì)量來選擇不同的GI/MCS/FecK/FecN/Bitrate/Gop/Power/ROIqp
apply_profile
├──> Local Variables Initialization
│   └──> Command Templates and Time Calculation
├──> Load Profile Variables into Local Variables
│   └── Copy values from `profile` into local variables
├──> Profile Comparison (currentProfile vs previousProfile)
│   ├──> If currentProfile > previousProfile:
│   │   ├──> Execute Power Command if changed      // "iw dev wlan0 set txpower fixed %d"
│   │   ├──> Execute GOP Command if changed        // "curl -s 'http://localhost/api/v1/set?video0.gopSize=%f'"
│   │   ├──> Execute MCS Command if changed        // "wfb_tx_cmd 8000 set_radio -B 20 -G %s -S 1 -L 1 -M %d"
│   │   ├──> Execute FEC Command if changed        // "wfb_tx_cmd 8000 set_fec -k %d -n %d"
│   │   ├──> Execute Bitrate Command if changed    // "curl -s 'http://localhost/api/v1/set?video0.bitrate=%d'"
│   │   ├──> Execute ROI Command if changed        // "curl -s 'http://localhost/api/v1/set?fpv.roiQp=%s'"
│   │   └──> Execute IDR Command if enabled        // "curl localhost/request/idr"
│   └──> Else (if currentProfile <= previousProfile):
│       └──> Execute commands in different order
└──> Display Stats (msposdCommand)└──> Execute `msposdCommand`                   // "echo '%ld s %d M:%d %s F:%d/%d P:%d G:%.1f&L30&F28 CPU:&C &Tc %s' >/tmp/MSPOSD.msg"
rangeMinrangeMaxsetGIsetMCSsetFecKsetFecNsetBitratesetGopwfbPowerROIqp
999999long0121533321.0610,0,0,0
10001150long0121533331.0600,0,0,0
11511300long1121566671.05912,12,12,12
13011700long21215100001.05812,8,8,12
17011850long31215125001.0568,0,0,8
18512001short31215140001.0564,0,0,4
  • rangeMin: Starting value of the range.

  • rangeMax: Ending value of the range.

  • setGI: 是無線通信系統(tǒng)中的 保護間隔(GI,Guard Interval)。短GI(400 ns)和長GI(800 ns)是兩種常見的保護間隔設(shè)置,用于管理OFDM(正交頻分復(fù)用)符號之間的時間間隔。選擇短GI或長GI會影響性能和抗干擾能力。它通常在無線通信協(xié)議的 物理層(PHY) 中進行設(shè)置,比如Wi-Fi(802.11標(biāo)準(zhǔn))。

  • setMCS: 定義了用于數(shù)據(jù)傳輸?shù)?strong>調(diào)制和編碼方案。MCS決定了數(shù)據(jù)是如何編碼的(調(diào)制類型),以及為錯誤糾正添加了多少冗余數(shù)據(jù)(編碼率)。在Wi-Fi(802.11n/ac/ax)中,MCS值通常從0到9(或更高,取決于Wi-Fi版本)。MCS索引是802.11協(xié)議標(biāo)準(zhǔn)的一部分,并且可以根據(jù)鏈路質(zhì)量和信號強度進行調(diào)整。

  • setFecK: 指的是前向錯誤糾正(FEC)方案,特別是表示在應(yīng)用錯誤糾正之前的數(shù)據(jù)位數(shù)(K值)FEC用于通過添加冗余數(shù)據(jù)來提高無線通信的可靠性,從而使接收方能夠糾正噪聲或干擾引起的錯誤。K值通常是Reed-Solomon編碼卷積編碼中的一個參數(shù)。

  • setFecN: 表示應(yīng)用FEC后的總位數(shù)(包括數(shù)據(jù)位和校驗位)。 K/N的比率給出了編碼率,這決定了為錯誤糾正添加的冗余程度。較低的FEC值(例如1/2)表示更多的冗余和錯誤糾正能力,而較高的值(如3/4或5/6)則提供更高的吞吐量,但錯誤糾正能力較弱。

  • setBitrate: 表示通過無線鏈路傳輸數(shù)據(jù)的速度,通常以Mbps(兆比特每秒)為單位。該值受到調(diào)制方案編碼率信號強度的影響。在Wi-Fi網(wǎng)絡(luò)中,通常會根據(jù)這些因素動態(tài)調(diào)整比特率,以優(yōu)化吞吐量,同時保持穩(wěn)定的連接。

  • setGop: GOP設(shè)置與視頻編碼相關(guān),尤其是在像H.264H.265這樣的壓縮方案中。定義了關(guān)鍵幀(I幀)之間的間隔。短GOP意味著更頻繁的關(guān)鍵幀(更高的視頻質(zhì)量,較低的壓縮),而長GOP意味著較少的關(guān)鍵幀(更高的壓縮,較低的質(zhì)量)。在無線通信中,這個設(shè)置對于視頻流的傳輸有很大影響。

  • wfbPower: 指的是無線前端(WFB)硬件的發(fā)射功率發(fā)射功率是無線通信中的一個關(guān)鍵參數(shù),影響無線信號的范圍和質(zhì)量。在Wi-Fi設(shè)備中,功率通常可以根據(jù)法規(guī)限制、設(shè)備能力和網(wǎng)絡(luò)狀況進行調(diào)整。wfbPower值可能用于配置設(shè)備中射頻(RF)部分的放大器。

  • ROIqp: ROI QP values as a comma-separated string (e.g., 0,0,0,0).

5. 總結(jié)

  • Profile 是一個經(jīng)驗值(測試值),依賴于具體場景應(yīng)用。
  • 配置參數(shù)(如:hold_fallback_mode_s/hold_modes_down_s) 也是一個經(jīng)驗參數(shù),依賴于具體應(yīng)用場景。
  • RSSI SNR 權(quán)重 RF信號質(zhì)量計算模型,也是一個經(jīng)驗方法,可以調(diào)整更優(yōu)的算法。

基于上述邏輯,對于這些內(nèi)容的優(yōu)化,就能更好的將FPV視頻無縫的應(yīng)用于實際環(huán)境 - 取決于大量的測試和優(yōu)化。

注:這里感覺缺少心跳報文丟失的處理,以應(yīng)對極端情況。

6. 參考資料

【1】OpenIPC開源FPV之Adaptive-Link工程解析

7. 補充資料

RSSI(接收信號強度指示)和SNR(信噪比)是衡量信號質(zhì)量的常用指標(biāo)。

加權(quán) RSSI 和 SNR 以綜合評估信號質(zhì)量的做法,基于以下幾個理論依據(jù):

  1. RSSI 反映信號強度,而 SNR 反映信號與噪聲的比率,兩者結(jié)合能夠更全面地評估信號質(zhì)量。
  2. 加權(quán)方式可以根據(jù)應(yīng)用場景和環(huán)境的變化,動態(tài)調(diào)整各個參數(shù)的影響,優(yōu)化信號質(zhì)量的評估。
  3. 加權(quán)系數(shù)的調(diào)整通常是基于實際的應(yīng)用需求和實驗數(shù)據(jù)優(yōu)化的。

通過加權(quán)結(jié)合這兩個指標(biāo),可以更準(zhǔn)確地反映無線通信中的實際信號質(zhì)量,進而為系統(tǒng)做出更合理的決策(如選擇最佳基站、調(diào)整發(fā)射功率、優(yōu)化資源分配等)。

7.1 RSSI 和 SNR 的物理含義

  • RSSI:表示接收到的信號強度,是衡量信號功率強度的一個指標(biāo)。通常情況下,RSSI 越高,表示信號接收的質(zhì)量越好。然而,RSSI 只反映了信號的強度,并不直接考慮噪聲的影響。

  • SNR:表示信號與噪聲的比值,是衡量信號質(zhì)量的一個重要指標(biāo)。SNR 越高,意味著信號在噪聲背景下越清晰,通信質(zhì)量越高。高的 SNR 值通常意味著信號更容易被準(zhǔn)確解碼,而低的 SNR 值則容易導(dǎo)致誤碼或通信失敗。

7.2 信號質(zhì)量加權(quán)的理論依據(jù)

  • 信號強度與噪聲的相對重要性
    單獨依賴 RSSI 來衡量信號質(zhì)量可能會產(chǎn)生誤導(dǎo)。因為高強度的信號也可能伴隨著較強的噪聲,而高噪聲水平會影響信號的清晰度。因此,SNR 提供了一個更全面的衡量標(biāo)準(zhǔn),考慮了信號的強度與噪聲的關(guān)系。加權(quán)方式結(jié)合了這兩個指標(biāo),能夠更準(zhǔn)確地反映實際信號質(zhì)量。

  • 加權(quán)的數(shù)學(xué)模型
    一種常見的做法是將 RSSI 和 SNR 作為輸入?yún)?shù),通過某種加權(quán)函數(shù)或線性組合來得到一個綜合的信號質(zhì)量指標(biāo)??梢愿鶕?jù)具體場景的需求調(diào)整權(quán)重值。例如:
    Q = w 1 ? RSSI + w 2 ? SNR Q = w_1 \cdot \text{RSSI} + w_2 \cdot \text{SNR} Q=w1??RSSI+w2??SNR
    其中,$ w_1 $ 和 $ w_2 $ 是 RSSI 和 SNR 的權(quán)重系數(shù),表示它們在信號質(zhì)量計算中的相對重要性。

    • 選擇合適的權(quán)重系數(shù)
      權(quán)重的設(shè)置需要根據(jù)具體的應(yīng)用需求和實驗數(shù)據(jù)來優(yōu)化。在一些應(yīng)用中,SNR 可能更為關(guān)鍵,因為它直接影響到數(shù)據(jù)傳輸?shù)腻e誤率,而在其他場景中,RSSI 可能更重要,因為信號強度直接決定了通信的覆蓋范圍。

7.3 實際應(yīng)用中的加權(quán)方法

  • 無線通信系統(tǒng):在無線通信中,RSSI 和 SNR 都是評估信號質(zhì)量的重要指標(biāo)。將兩者加權(quán)后,系統(tǒng)可以更好地判斷信號的穩(wěn)定性和傳輸質(zhì)量。例如,在 Wi-Fi 或移動通信中,基站或接入點會同時考慮這兩個參數(shù),以確保數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

  • 動態(tài)信號質(zhì)量評估:無線環(huán)境通常是動態(tài)變化的,信號強度和噪聲水平可能隨時間和位置變化。通過加權(quán)方式,可以更靈活地反映當(dāng)前信號的質(zhì)量,特別是在復(fù)雜的多徑傳播和干擾環(huán)境中。

7.4 加權(quán)方法的優(yōu)化

  • 信道的特性:在不同的無線信道中,RSSI 和 SNR 對信號質(zhì)量的影響可能不同。例如,在高干擾環(huán)境下,SNR 的作用更為突出,因此可以為 SNR 分配更大的權(quán)重。而在信號強度較好的環(huán)境中,RSSI 可能會更重要。

  • 基于經(jīng)驗的調(diào)整:通過實際測試和仿真,可以根據(jù)不同的環(huán)境條件和通信需求,調(diào)整 RSSI 和 SNR 的權(quán)重。例如,在一個需要長距離傳輸?shù)膱鼍爸?#xff0c;可能會更側(cè)重于 RSSI;而在一個要求高數(shù)據(jù)速率和低錯誤率的場景中,可能會更關(guān)注 SNR。

7.5 綜合考慮信號質(zhì)量的模型

在一些高級的信號質(zhì)量評估模型中,除了直接的 RSSI 和 SNR 之外,可能還會考慮其他因素,比如:

  • 路徑損耗:信號在傳播過程中的衰減。
  • 干擾:來自其他無線設(shè)備或環(huán)境的噪聲。
  • 調(diào)制方式:不同的調(diào)制方式對信號質(zhì)量的敏感度不同。

這些因素也可能在加權(quán)過程中作為附加的輸入,進一步提升信號質(zhì)量評估的準(zhǔn)確性。

7.6 8812EU WiFi模塊

  • M8812EU2 2T2R 802.11a/n/ac WiFi Module
  • Using BL-M8812EU2 (or other RTL8812EU-based) Wi-Fi Module

功率設(shè)置兩個方法: WIP: Add support for RTL8812EU-based Wi-Fi adapters for FPV firmware #1344

  • driver_txpower_overridein /etc/wfb.conf. The range is 0~63
  • iw dev <wlan0> set txpower fixed <mBm>. The range is 0~3150, and can be set dynamically when transmitting.
    在這里插入圖片描述
    在這里插入圖片描述
http://www.risenshineclean.com/news/10987.html

相關(guān)文章:

  • 深圳網(wǎng)站公司注冊seo網(wǎng)站外鏈工具
  • 網(wǎng)站建設(shè)優(yōu)化網(wǎng)站運營推廣方式
  • 智慧建設(shè)網(wǎng)站衡陽seo排名
  • 軟件商店下載電腦版seo實戰(zhàn)密碼電子版
  • 做網(wǎng)站建設(shè)的上市公司有哪些谷歌獨立站seo
  • 網(wǎng)站類的知識網(wǎng)絡(luò)營銷文案策劃都有哪些
  • 寫作網(wǎng)站哪個最好百度營稍
  • 做電力項目信息的網(wǎng)站google國際版入口
  • 做網(wǎng)站 接活廣告公司主要做什么
  • 學(xué)院做網(wǎng)站的意義收錄網(wǎng)站有哪些
  • 網(wǎng)站開發(fā)網(wǎng)站設(shè)計制作學(xué)電腦培訓(xùn)班
  • wordpress在線郵箱廣州seo公司官網(wǎng)
  • 柳州網(wǎng)站建設(shè)公高端企業(yè)建站公司
  • wordpress刪除版權(quán)信息晉中網(wǎng)站seo
  • 學(xué)校網(wǎng)站建設(shè)的作用百度推廣關(guān)鍵詞和創(chuàng)意
  • iis7如何部署網(wǎng)站網(wǎng)絡(luò)推廣與推廣
  • 如何制作wordpress網(wǎng)站地圖網(wǎng)站seo好學(xué)嗎
  • 南通網(wǎng)站制作價格免費的自助建站
  • 網(wǎng)站空間1g多少錢一年阿里指數(shù)查詢官網(wǎng)
  • 如何制作自己的網(wǎng)站并且插口代碼企業(yè)微信會話內(nèi)容存檔
  • 網(wǎng)站建設(shè)服務(wù)合同繳納印花稅嗎百度搜索排名靠前
  • 做信息網(wǎng)站怎么賺錢口碑營銷的形式
  • 一個公司備案兩個網(wǎng)站seo內(nèi)容優(yōu)化是什么
  • 濰坊網(wǎng)站建設(shè)價優(yōu)化大師卸載不了
  • sketch網(wǎng)站花邊怎么做培訓(xùn)班招生方案有哪些
  • 公司網(wǎng)站備案需要多久濰坊網(wǎng)站外包
  • 網(wǎng)站開發(fā)面板網(wǎng)站軟文是什么
  • 常州網(wǎng)站建設(shè)企業(yè)網(wǎng)站seo一個月賺多少錢
  • phpcms中的網(wǎng)站介紹頁互聯(lián)網(wǎng)營銷的方式有哪些
  • mui做瀏覽器網(wǎng)站跳轉(zhuǎn)口碑營銷理論