麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

在同一模擬輸出卡上產生多路不同頻率模擬信號的方法

文檔序號:6438500閱讀:434來源:國知局
專利名稱:在同一模擬輸出卡上產生多路不同頻率模擬信號的方法
技術領域
本發明涉及模擬信號的生成,特別涉及一種采用一塊模擬輸出卡產生多路不同頻率模擬信號的方法。
背景技術
在衛星測試過程中,需要地面測試設備按測試需要向衛星同時提供不同波形的信號,用于模擬衛星在軌運行時姿態敏感器或其他設備測量到姿態信號、探測信號,進而測試星上姿態測量系統、信息處理系統的功能。一般衛星姿態敏感器的精度均較高(信號精度在0.01度左右),對上星的信號的精度和信號之間有嚴格的相位要求、信號的頻率穩定度要求較高,而且所需信號的頻率多樣,信號的幅度、頻率等參數在測試過程中要根據測試需要動態改變。在本發明應用之前,當需要產生多路信號時,通常可以采用以下幾種實現方案1、通過模擬RC、RLC、LC等形式的振蕩電路,配合使用運算放大器、有源或無源濾波器電路產生模擬信號;2、通過多諧振蕩器、晶體振蕩器等脈沖信號發生器產生脈沖信號,再通過計數器分頻產生一定占空比和頻率的脈沖信號,而后通過運算放大器、有源或無源濾波器電路、數字濾波電路濾波后產生模擬信號;3、通過多諧振蕩器、晶體振蕩器等產生脈沖信號,再通過計數器分頻產生固定頻率的脈沖信號,將需要生成的模擬信號先量化,而后存儲于ROM芯片中,再采用CPU控制將存儲在ROM中的信號通過D/A轉換,最終生成的模擬信號。4、通過標準的PXI/PCI模擬輸出卡(AO卡),通過編制板卡控制程序調用板卡驅動控制板卡生成所需模擬信號,當需要生成不同頻率信號時,需要配置多塊模擬輸出卡,一種頻率的信號對應一張板卡。以上方案中,1方案只適合生成正弦波、三角波、梯形波等相對簡單的波形,對于復雜的模擬信號的輸出,無能為力,而且用該方案生成的波形的精度較低,易受外部環境干擾,信號參數會隨時間發生飄移。2方案主要用于生成脈沖信號和其他相對簡單的信號,也同樣會存在1方案的缺陷。3方案可以實現復雜的多路模擬信號的輸出,但需要自己開發板卡或線路,而且由于波形的數據點需要固化于ROM中,無法對波形的參數進行動態更改,對于復雜波形的生成、所需的D/A轉換采樣點數據的產生也較困難;對于不同指標要求,需要開發不同的線路,通用性差;自己開發的電路、需要經驗、電路調試也很繁瑣、可靠性設計較差。4方案相比3方案通用性提高,不用自己設計電路,調試電路,由于為工業成熟產品,出廠前均進行了嚴格測試、可靠性高;但各通道的采樣頻率相同,只依靠板卡硬件資源無法獲得多頻率模擬信號,需要多塊板卡才能產生不同頻率的信號。

發明內容
本發明的目的在于克服現有技術中同一塊模擬輸出卡只能輸出一種頻率的模擬信號的缺陷,從而提供一種在同一塊模擬輸出卡上輸出多種頻率模擬信號的方法。為了實現上述目的,本發明提供了一種在同一模擬輸出卡上產生多路不同頻率模擬信號的方法,包括步驟1)、創建一用于保存所述模擬輸出卡所要輸出的多路不同頻率的模擬信號的采樣數據的二維數組;所述二維數組的列數表示了所述多路信號的路數,所述二維數組的每一列數據表示了對應路信號的波形,所述二維數組中每一行數據代表了同一時刻的輸出電壓值;步驟2、、確定所述模擬輸出卡在工作時的采樣頻率;步驟幻、所述模擬輸出卡按采樣周期從所述二維數組讀取數據,并對所讀取的數據做數/模轉換,生成波形;其中,該步驟包括步驟3-1)、在從所述二維數組讀取數據時,按照所述多路模擬信號中頻率最高的信號所對應的采樣周期從所述二維數組的每一列讀取大小為η的數據;步驟3- 、對于所述二維數據中數據大小為N且N大于η的列,將該列中最后第 Ν-η個數據取出并予以緩存;步驟3-3)、為所述二維數據補入數據;其中,對于數據大小為N且N大于η的列, 當所述Ν-η的值大于或等于η,將該Ν-η個數據作為該列的新的數據,當所述Ν_η的值小于 η,在所述最后第Ν-η個數據之后補入完整的N個數據,將其作為該列的新的數據;步驟3-4)、重新執行步驟3-1),直到滿足終止條件。上述技術方案中,所述的步驟1)包括步驟1-1)、根據模擬輸出卡的最大采樣率指標和所需生成模擬輸出信號的最高頻率確定二維數組中用于代表頻率最高的一路輸出信號的某一列的數據數量上限
Γ π Μ _ ^maxnmax
J max上式中Smax為所述模擬輸出卡具有的最大采樣率,fmax為所需生成信號的最高頻率,Hfflax為模擬輸出卡能夠產生的數據點的最大個數;步驟1- 、根據步驟1-1)確定的數據數量上限以及信號精度確定所述二維數組中某一列數據的數量ns;步驟1-3)、根據不同頻率的信號間的比值以及步驟1-2)中確定某一列數據的數量,確認其他列數據的數量。本發明的優點在于1、本發明在一塊模擬輸出卡上實現了多路不同頻率高精度模擬信號的輸出,解決了現有技術需要多塊板卡才能實現的功能,降低了實現成本,提高了信號間的同步性能。2、采用本發明的方法后,不同通道輸出的模擬信號當頻率相同或相差整數倍時, 其信號間的相位差始終保持不變,即滿足相位同步;不同通道輸出的模擬信號當頻率不同或相差非整數倍時,信號在第一個周期內的初始相位差相同,即滿足初始相位同步。


圖1為本發明方法的程序流程圖。圖2以生成3路模擬信號為例,顯示了生成多路同頻率信號原始采樣數據點二維數組數據在計算機內存中的映射情況。圖3以生成2路頻率和1路f2頻率信號為例,顯示了生成多路不同頻率信號時, 在第一個信號周期,其原始采樣數據點組成的二維數組在計算機內存中數據映射形式。圖4在圖3所示步驟基礎上,顯示了在第二個信號周期,在計算機將第一個信號周期的數組數據送往PXI或PCI模擬輸出卡進行D/A轉換,生成波形時,將第一個信號周期中第3序列中最后N-n個數據點從第3列中取出、緩存的示意圖。圖5在圖4所示操作的基礎上,顯示了如何為二維數組補充數據的示意圖。圖6在圖5所示操作的基礎上,在生成第三個信號周期,當樣本數據被送入D/A 進行轉換的時候,將圖5所示操作中新的第3列的剩余數據2(N-n)數據從第3列中取出、 緩存的示意圖。圖7在圖6所示操作的基礎上,顯示了如何為二維數組補充數據的示意圖。圖8顯示了在生成第K個信號周期,當樣本數據被送入D/A進行轉換的時候, 將k-Ι步操作中新的第3列的剩余數據k(N-n)數據從第3列中取出、緩存的示意圖。圖9在圖8所示操作的基礎上,顯示了如何為二維數組補充數據的示意圖。
具體實施例方式下面結合

本發明的優選實施例。在對本發明的方法做詳細說明前,首先對本發明方法所涉及的硬件進行說明。要實現本發明的方法需要有計算機、模擬輸出卡,所述模擬輸出卡包括有一板載 FIFO緩存器,且該緩存器支持DMA傳輸模式。所述模擬輸出卡有多個輸出通道,這些輸出通道具有D/A轉換功能,可用于將多路信號由數字格式轉換為模擬格式并輸出。模擬輸出卡包括有標準PXI (或PCI)總線接口,以實現與所述計算機之間的通信。所述PXI (或 PCI)總線接口為一種基于PC的工業標準計算機總線規范,其總線寬度為32位,工作電壓 3. 3V/5. 5V,頻率為 66MHz/132MHz。正如背景技術中所提到的,一般而言,一個模擬輸出卡中的各個輸出通道具有相同的采樣頻率,因此,在同一時間內只能輸出同一頻率的一路或多路信號,不能輸出不同頻率的多路信號,否則所輸出的信號的完整性會受到影響。這就使得現有技術中若要輸出多頻率模擬信號就需要多個模擬輸出卡。參考圖1,本發明通過下列步驟實現了在同一張模擬輸出卡輸出多路不同頻率的模擬信號。步驟1)、創建一二維數組,用于保存模擬輸出卡所要輸出的多路模擬信號的采樣數據。在本步驟中,所要創建的二維數組的列數表示了需要產生的信號的路數,二維數組的每一列數據表示了該路信號的波形,二維數組中每一行數據代表了同一時刻的輸出電壓值。在圖2、圖3中分別給出了所述二維數組的示意圖。該步驟包括以下子步驟步驟1-1)、首先根據模擬輸出卡的最大采樣率指標和所需生成信號的最高頻率確定二維數組中用于代表頻率最高的一路輸出信號的某一列的數據數量上限,即某一路的最大數據點數計算方法為
上式中^iax為模擬輸出卡具有的最大采樣率,fmax為所需生成信號的最高頻率,nmax 為模擬輸出卡能夠產生的數據點的最大個數。步驟1- 、根據上步確定的數據數量上限,綜合考慮所需信號精度確定二維數組中某一列數據的數量,一般可以選擇上一步驟中所得到的最大數據點數的70% 80%,此處取為75%。即ns = 75% nfflax對于同頻率信號,各路信號的采樣數據點數均按照上式確定,對于其他頻率信號的數據點數需要按照下式確定Ns=^rns
J 2上式中Ns為其他頻率信號所需要的數據點數,對于不同頻率信號所需的采樣點數均不同,記為Nsl,Ns2,... Nsn 代表前面提到的最高頻率,f2代表其他頻率。以圖2為例,該圖所表示的實施例中,有三路同頻信號,因此按照上述步驟所得到的分別代表三路同頻信號的一維數組數組I、數組II、數組III中的數據量相同,都可以用 η表示;而在圖3所表示的實施例中,也有三路信號,但第三路信號的頻率不同于第一、第二路信號,因此,數組I、數組II的數據量相同,都用η表示,而數組III的數據量用N表示,N
> Πο本步驟所形成的二維數組可保存在計算機的緩存或內存中。步驟2、、確定模擬輸出卡工作時的采樣頻率。根據確定的信號數據數組的數據量和所需生成信號頻率,確定模擬輸出卡工作時的采樣頻率。計算方法如下fs = nsfsignal上式中fs為模擬輸出卡工作時的采樣頻率,ns為實際的一維數組的數據數量, fsignal為所需生成信號頻率。之前提到,若多路模擬信號中存在不同頻率的模擬信號,那么實際的一維數組的數據數量會有所不同,正如圖3中所示的那樣,在此情況下,所述的1取數據數量最小的一維數組的數據量大小。如圖3中所示,N >n,因此\的取值為η。若多路模擬信號中存在不同頻率的模擬信號,那么fsignal為多路模擬信號中頻率最高的信號所對應的頻率。步驟幻、模擬輸出卡按周期從所述二維數組中讀取數據,將所讀取的數據做D/A 轉換,生成波形。當所要輸出的信號頻率相同時,按周期將步驟1)創建的與所有信號對應的二維數組中的數據傳輸到所述模擬輸出卡的對應通道,完成D/A轉換,生成波形。此類情況在現有技術中已經解決,不是本發明所要討論的范圍,因此不在此處做詳細說明。下面重點就當所要輸出的信號有多個頻率時,模擬輸出卡如何按周期讀取數據的過程進行說明。在一個實施例中,以圖3為例,所要輸出的模擬信號有三路,其中兩路是頻率信
號,另外一路是f2頻率信號。按照之前的步驟,在第一個信號周期,其原始采樣數據點所形成的二維數組如圖3所示,該二維數組中第1、2序列為頻率信號樣本點數據,共η個數據;第3序列為f2頻率信號樣本點數據,共N個數據。在第二個信號周期,計算機將第一個信號周期的數組數據送往模擬輸出卡進行D/A轉換,生成波形。在傳輸的過程中,對于二維數組中的每一列都傳輸大小為η的數據量,因此如圖4所示,需要將第一個信號周期中第3序列中最后N-n個數據點從第3列中取出并緩存。接著,如圖5所示,再為所述二維數組補入新的數據。對于第一路、第二路信號,由于之前已經將數組I、數組II中的所有數據都讀出,因此只要將新生成的數據覆蓋原有數據即可。但對于第三路信號,之前緩存了最后N-n個數據點,此時需要判斷N-n是否小于n,如小于則在其后補入完整的第3路信號對應的N個樣本數據點,構成一個新的長度為2N-n的新序列,然后將該列新數據與頻率為f\的信號的兩列數據合并,組成一個新的二維數組,從該二維數組中取出前η行數據送模擬輸出卡進行D/A轉換。如果取出的N-n個數據數量大于或等于n,則在其后不補入N個樣本點,直接將其與數組的前兩列組成新的二維數組,同樣的,從該二維數組中取出前η行數據送模擬輸出卡進行D/A轉換。第三個信號周期,保存在二維數組中的樣本數據繼續被傳輸到模擬輸出卡,如圖6所示,需要將圖5中新的第3列的剩余的2 (N-n)數據從第3列中取出并緩存。接著繼續為所述二維數組補充新的數據。如圖7所示,在為第三列補充數據時,將之前從第3列中取出并緩存的剩余數據2 (N-n)的數據長度是否小于η進行判斷,若小于,則在其后補入完整的第3路信號對應的N個樣本數據點,構成一個新的長度為3Ν-2η的新序列,然后將該列新數據與信號的兩列數據合并,組成一個新的二維數組,從該二維數組中取出前η行數據送模擬輸出卡進行D/A轉換。如果取出的2(Ν-η)個數據數量大于η,則在其后不補入N 個樣本點,直接將其與數組的前兩列組成新的二維數組,同樣的,從該二維數組中取出前η 行數據送模擬輸出卡進行D/A轉換。在第K個信號周期,如圖8所示,當樣本數據被送入D/A進行轉換的時候,將 k-Ι步操作中新的第3列的剩余數據k(N-n)數據從第3列中取出并緩存。接著,繼續為所述二維數組補充新的數據。如圖9所示,在為第三列補充數據時,判斷剩余數據k(N-n)是否小于n,如小于則在其后補入完整的第3路信號對應的N個樣本數據點,構成一個新的長度為KN-(k-l)n的新序列,然后將該列新數據與信號的兩列數據合并,組成一個新的二維數組,從該二維數組中取出前η行數據送模擬輸出卡進行D/A轉換。如果取出的k(N-n) 個數據數量大于n,則在其后不補入N個樣本點,直接將其與數組的前兩列組成新的二維數組,同樣的,從該二維數組中取出前η行數據送模擬輸出卡進行D/A轉換。重復進行以上數組數據的更新重構和D/A轉換,可以連續不斷的輸出不同頻率的模擬信號。在上述實施例中,對本發明方法的實現過程作了說明。雖然在上述實施例中,多路模擬信號只有兩種頻率值,但在其他實施例中,若存在更多種頻率的輸出信號,參考對頻率為f2的信號的處理過程,也可實現對相應頻率的模擬信號的輸出。本發明的方法已成功運用到風云二號氣象衛星姿控系統地面測試設備中。該設備通過單塊NI公司PXI-6733模擬輸出卡實現了 8路姿態激勵信號的產生,其中有兩路信號頻率為其他6路信號頻率的0. 54倍。8路輸出信號精度均優于指標要求,6路同頻信號間相位同步,另2路同頻信號(為另6路信號頻率的0. 54倍)相位同步,并且8路信號間在設備啟動后初始相位同步。該設備經驗收測試和專家驗收評審,投入實際衛星測試一年多, 應用情況良好,輸出信號完全滿足風云二號衛星姿控系統測試要求。
權利要求
1.一種在同一模擬輸出卡上產生多路不同頻率模擬信號的方法,包括步驟1)、創建一用于保存所述模擬輸出卡所要輸出的多路不同頻率的模擬信號的采樣數據的二維數組;所述二維數組的列數表示了所述多路信號的路數,所述二維數組的每一列數據表示了對應路信號的波形,所述二維數組中每一行數據代表了同一時刻的輸出電壓值;步驟2)、確定所述模擬輸出卡在工作時的采樣頻率;步驟;3)、所述模擬輸出卡按采樣周期從所述二維數組讀取數據,并對所讀取的數據做數/模轉換,生成波形;其中,該步驟包括步驟3-1)、在從所述二維數組讀取數據時,按照所述多路模擬信號中頻率最高的信號所對應的采樣周期從所述二維數組的每一列讀取大小為η的數據;步驟3- 、對于所述二維數據中數據大小為N且N大于η的列,將該列中最后第Ν-η個數據取出并予以緩存;步驟3-3)、為所述二維數據補入數據;其中,對于數據大小為N且N大于η的列,當所述Ν-η的值大于或等于η,將該Ν-η個數據作為該列的新的數據,當所述Ν_η的值小于η,在所述最后第Ν-η個數據之后補入完整的N個數據,將其作為該列的新的數據;步驟3-4)、重新執行步驟3-1),直到滿足終止條件。
2.根據權利要求1所述的在同一模擬輸出卡上產生多路不同頻率模擬信號的方法,所述的步驟1)包括步驟1-1)、根據模擬輸出卡的最大采樣率指標和所需生成模擬輸出信號的最高頻率確定二維數組中用于代表頻率最高的一路輸出信號的某一列的數據數量上限
全文摘要
本發明公開了一種在同一模擬輸出卡上產生多路不同頻率模擬信號的方法,包括創建一用于保存所述模擬輸出卡所要輸出的多路不同頻率的模擬信號的采樣數據的二維數組;確定所述模擬輸出卡在工作時的采樣頻率;所述模擬輸出卡按采樣周期從所述二維數組讀取數據,并對所讀取的數據做數/模轉換,生成波形。本發明已成功應用到衛星姿控測試設備中,實踐證明該方法可靠、完備,輸出的信號頻率穩定、信號間相位關系嚴格同步,信號參數可動態調整,性能完全滿足測試設備指標要求。
文檔編號G06F17/00GK102495824SQ201110362379
公開日2012年6月13日 申請日期2011年11月15日 優先權日2011年11月15日
發明者梁永紅 申請人:上海衛星工程研究所
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 婺源县| 黔西| 昭通市| 静安区| 略阳县| 延庆县| 万源市| 黔东| 兴宁市| 清新县| 敦化市| 同江市| 冀州市| 遂宁市| 泽州县| 凤庆县| 苏尼特左旗| 滨海县| 射洪县| 游戏| 常山县| 洛隆县| 德惠市| 韶山市| 韩城市| 肇东市| 北流市| 辛集市| 嘉善县| 营山县| 定西市| 阳谷县| 宁津县| 石阡县| 西盟| 信阳市| 郑州市| 德州市| 沿河| 潮安县| 民乐县|