0
点赞
收藏
分享

微信扫一扫

生成正弦信号 C#


/// <summary>
/// 生成正弦信号
/// </summary>
/// <param name="f0">frequency in Hz 模拟信号的频率, 单位Hz</param>
/// <param name="phi">initial phase 初始相位 (0-2π)</param>
/// <param name="A">amplitude 振幅</param>
/// <param name="fs"> sample rate 采样频率(个/秒)</param>
/// <param name="time">生成x秒的数据</param>
/// <returns>x秒的正弦信号</returns>
public float[] GenerateSinData(float f0, float phi, float A, int fs, int time)
{
float ffs = (float)fs;
int N = fs * time;
float T = 1 / ffs; //T是 采样周期, 两个样本之间的间隔时长
var nn = new float[N]; // Math.arange(N); // [0,1,..., N-1]
for (int i = 0; i < nn.Length; i++)
{
nn[i] = (float)(A * Math.Sin(2 * f0 * Math.PI * i * T + phi));
}

return nn;
}



举报

相关推荐

0 条评论