有助于理解如何实现calcSNR“sinusx”功能。m文件

5视图(30天)
你好,
我上数据转换器。我们的课本是 malloberti转换器的数据 。在第三章, 3.2示例代码, 有一个函数命名 calcSNR.m 它包含一个函数 “sinusx” 没有被定义。你能帮我理解如何实现 sinusx 吗?
这是calcSNR。m:
函数[snrdB, ptotdB psigdB pnoisedB] = calcSNR(输出电压,f, fB, w, N)
%计算信噪比在时域(p . Malcovati Brigati)
%函数[snrdB ptotdB、psigdB pnoisedB] = calcSNR(输出电压,f, fB, w, N)
%输出电压:法位流在调制器的输出
% f:归一化信号频率(fs - > 1)
% fB:基带频率垃圾箱
% w:窗口向量
% N:样本数量
%
在dB % snrdB:信噪比
% ptotdB:位流功率谱密度(向量)
% psigdB:提取信号功率谱密度(向量)
% pnoisedB:噪声功率谱密度(向量)
%
fB =装天花板(fB);
信号= (N / sum (w)) * sinusx(输出电压(1:N)。* w, f, N);%提取正弦信号
噪音=输出电压(1:N)信号;%提取噪声组件
小公牛= ((abs (fft((输出电压(1:N)。* w) '))) ^ 2);%位流PSD
ssignal = (abs (fft((信号(1:N)。* w)”))) ^ 2;% PSD信号
snoise = (abs (fft((噪音(1:N)。* w)”))) ^ 2;%噪声PSD
pwsignal =总和(ssignal (1: facebook));%的信号功率
pwnoise =总和(snoise (1: facebook));%噪声功率
信噪比= pwsignal / pwnoise;
snrdB =菲律宾(信噪比);
规范=总和(小公牛)/笔(输出电压(1:N)。^ 2) * N;% PSD正常化
如果nargout > 1
ptot =小公牛/标准;
ptotdB = (ptot)类似;
结束
如果nargout > 2
psig = ssignal /标准;
psigdB = (psig)类似;
结束
如果nargout > 3
pnoise = snoise /标准;
pnoisedB = (pnoise)类似;
结束

答案(1)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!