Click or drag to resize
XDL

XChirpGetChirpSignal Method

생성된 Chirp 신호에 값을 가져온다. Chirp 신호는 복소수 값을 가지기 때문에, 신호의 길이가 N 이면 데이터는 [N, 2]의 크기를 가진다.

Namespace: Pixoneer.NXDL.NSAR
Assembly: NXDLsar (in NXDLsar.dll) Version: 3.0.0.4
Syntax
C#
public bool GetChirpSignal(
	out float[,] OriginChirp,
	out float[,] WeightedChirp
)

Parameters

OriginChirp  Single
[Out]Chirp 파라메터로 부터 생성된 Chirp 신호
WeightedChirp  Single
[Out]Chirp 신호에 Window Function이 적용된 신호, Window Function을 설정하지 않으면 null을 반환함

Return Value

Boolean
Chirp 신호 생성 성공 여부
Example
Chirp 신호 생성을 위한 파라메터를 설정하고,
생성된 Chirp 신호를 읽어 csv 파일로 저장하는 예제이다.
// Chirp 신호 생성 파라메터 double fs = 625e6; // Sampling Rate double Tr = 10e-6; // Chirp Length double bw = 601.5e6; // Chirp Band Width double Kr = bw / Tr; // Chirp Rate(Kr > 0 : Up Chirp) // Chirp 데이터 저장 float[,] vChirp; // Chirp 신호 저장 float[,] wChirp; // window function이 적용된 Chirp 신호 저장 string strOutDir = @"E:\Output\TestChirp\"; Pixoneer.NXDL.NSAR.XChirp sigChirp = new Pixoneer.NXDL.NSAR.XChirp(); // 파라메터 설정 ======================================================== sigChirp.SetParams(fs, Tr, Kr, -bw / 2); // chirp 신호 가져오기 sigChirp.GetChirpSignal(out vChirp, out wChirp); System.Console.WriteLine("vChirp Len = {0}, Data {1} x {2}", vChirp.Length, vChirp.GetLength(0), vChirp.GetLength(1)); if (null == wChirp) { System.Console.WriteLine("None window function"); } // chirp 신호 저장 string text = string.Empty; string strPath = strOutDir + "vChirp1.csv"; for (int i = 0; i < vChirp.GetLength(0); i++) { text += string.Format("{0:F9},{1:F9}\n", vChirp[i,0], vChirp[i,1]); } System.IO.File.WriteAllText(strPath, text); // 파라메터 재설정 및 window function 적용 ================================== sigChirp.SetParams(fs, Tr, bw, true, -bw / 2); sigChirp.SetParamsWeight(Pixoneer.NXDL.NSAR.eWinFuncType.Kaiser, 0.5); // chirp 신호 가져오기 sigChirp.GetChirpSignal(out vChirp, out wChirp); System.Console.WriteLine("vChirp Len => {0}, Data {1} x {2}", vChirp.Length, vChirp.GetLength(0), vChirp.GetLength(1)); System.Console.WriteLine("wChirp Len => {0}, Data {1} x {2}", wChirp.Length, wChirp.GetLength(0), wChirp.GetLength(1)); // chirp 신호 저장 text = string.Empty; strPath = strOutDir + "vChirp2.csv"; for (int i = 0; i < vChirp.GetLength(0); i++) { // 실수부 : vChirp[i,0] // 허수부 : vChirp[i,1] text += string.Format("{0:F9},{1:F9}\n", vChirp[i,0], vChirp[i,1]); } System.IO.File.WriteAllText(strPath, text); // windows function 적용된 chirp 신호 저장 if (null != wChirp) { text = string.Empty; strPath = strOutDir + "wChirp2.csv"; for (int i = 0; i < wChirp.GetLength(0); i++) { text += string.Format("{0:F9},{1:F9}\n", wChirp[i,0], wChirp[i,1]); } System.IO.File.WriteAllText(strPath, text); }
See Also