发明概述
本发明的目的是提供一种改进信号,它被用于通信系统和通信装置,特别是用于根据预定(标准化)噪声分布测试这些系统和装置。
在本发明的第一个方面中,公开了一种配置适合用在通信系统之中或之上具有预定质量标准的信号的方法,所述方法包括以下步骤:
-表示第一信号,所述第一信号包括多个频率分量,每个分量具有频谱幅度特性以及相位特性,以及
-通过根据所述或各种预定质量标准配置频谱幅度特性以及配置随机相位特性来处理所表示的第一信号。
修改谱包络的传统方法是利用数字滤波器组。对本发明来说,所表示的第一信号和要提供的信号之间不必建立因果关系,所以这种传统方法决非理想。这种根据本发明对问题的理解大大简化了频率整形的完成。
例如,从具有随机相位特性的第一信号开始,所表示的第一信号的频率整形操作足以提供满足预定质量标准的信号。可以以几种方式执行根据本发明的频率整形。
在本发明的实施例中,第一信号由指定各频率分量的频谱幅度和相位的第一组数字表示。在保持信号的随机相位特性的同时,各频率分量的频谱幅度的调整足以实现频域中所表示信号的频率整形。
在本发明的另一个实施例中,第一信号由具有实部和虚部的第二组复数表示,其中实部和虚部的组合指定各频率分量的频谱幅度和相位。通过充分地调整这些复数来实现频率整形,但是,在对所表示的第一信号进行调整之后要保持随机相位特性。
在本发明的又一个实施例中,第一信号由第三组数字表示,各数字在时域中指定第一信号的幅度。通过利用例如快速傅里叶变换 (FFT)算法将第三组数字从时域变换到频域,第一信号由指定各频率分量的频谱幅度和相位的第四组数字表示。可以由频率整形操作对第四组数字作进一步处理,如以上针对第一组数字所公开的那样。
但是根据本发明,也可以将第三组数字从时域变换到频域,从而由第五组具有实部和虚部的复数表示第一信号。如上所述,为了频率整形,必须充分地调整第五组复数。
在所表示的第一信号具有非随机相位特性的情况下,通过适当地配置第二、第四和第五组数字,可以得到随机相位特性。
利用实数或复数的比例因子,可以由乘法运算调用频域中的缩放。将频率分量的频谱幅度的期望值除以其实际频谱幅度得到频率分量的频谱幅度的乘法比例因子。
依照根据本发明的方法的另一个实施例,为了达到与所述或各种预定质量标准的进一步匹配,提供了已处理的所表示第一信号的后处理。
但是,为了用于根据本发明的通信系统之中或之上,必须利用例如反快速傅里叶变换(IFFT)算法,将在频域中配置的所表示第一信号变换到时域。
另外,以上公开的处理步骤还可以包括诸如信号的卷积或去卷积或者乘法或加法运算。在时域中,尤其可以由时域中第六组数字表示满足所述或各种预定质量标准的已处理的所表示第一信号。
但是,通过以上方法,所提供的满足频率中诸如预定频谱幅度包络以及随机相位特性的质量标准的信号可能还不满足时域中诸如预定时域幅度分布的质量标准。
在根据本发明的方法的再一个实施例中,所述或各种预定质量标准包括包含预定时域幅度分布以及预定频谱幅度包络的组中的任何一些。
因此,在根据本发明的方法的另一个实施例中,根据预定时域幅度分布配置已处理的所表示第一信号。
在根据本发明的方法的再一个实施例中,根据预定频谱幅度包络配置已处理的所表示第一信号。
根据本发明,为了提供准确满足频域和时域中的预定质量标准的信号,时域幅度分布和频谱幅度包络中的至少一种是由迭代过程完成的。可以按照所需次数重复幅度和频率整形,直到两个形状都在合理精确度之内满足要求。
在本发明的实施例中,迭代过程包括在任一迭代步骤后,将已处理的所表示第一信号的时域幅度分布和频谱幅度包络中的任一些与预定时域幅度分布与预定频谱幅度包络进行比较。
已经发现,不需要在频率整形后执行全时域特征检查,以弄清时域特征是否足够接近要求。已证明,在实践中,波峰因数要求的简单检查足以能够决定是停止还是继续迭代。信号的波峰因数被定义为信号音平均或rms(均方根)值与信号音最大或峰值幅度的关系。
以上公开的根据本发明的方法特别适合生成串音噪声等。
在根据本发明的方法的第二方面中,如果要生成具有干扰噪声特征的信号,所述或各种预定质量标准包括至少一个已调载波,所述已调载波包括由载频、载波幅度、调制深度以及调制宽度组成的组中的任一些。
通过根据一种质量标准或上述质量标准对所表示第一信号进行整形,可以容易并且非常有效地提供表示特定类型的干扰噪声、具有特定时域幅度分布以及预定频谱幅度包络的信号。
根据本发明的方法,可以通过组合多个如上文所公开的内容处理的信号来提供满足所述或各种预定质量标准的信号。
为了在例如通信网络或通信装置的测试中利用这种信号,必须利用例如FFT算法等将已处理的所表示信号从频域变换到时域。
本发明还用于组合根据以上公开的第一和第二方面生成的信号。但也可以包括其它信号分量。
具体地说,根据本发明的方法,具有所述或各种预定质量标准 的信号是噪声信号。
在本发明的第三方面,公开了一种测试通信系统的操作的方法,其中所述方法包括以下步骤:
-根据以上公开的本发明的方法,生成具有预定质量标准的信号,以及
-通过测试中的通信系统传送这种信号。
可以利用一组为代码格式并按预定顺序在装置上执行的指令来生成和存储所述信号。该组指令可以是软件代码,它在计算机上编译并存储在计算机或计算机网络或软盘或CD-ROM上,或通过因特网存储。软件和/或产生的信号还可以被存储在任意波形发生器(AWG)卡上,并且AWG可被用于生成这种信号或者从存储器再现存储信号。因此有可能存在一种可用信号库,其中这些信号存储在数据载体上,可被用于执行或使用根据本发明的方法。
通信系统可以是诸如xDSL调制解调器、或这种调制解调器内的或用于这种调制解调器的芯片、或网络中的电缆、或用于(电信)通信的网络的装置。
在本发明的第四方面中,公开了配置用于通信系统之上或之中的信号的另一种方法。信号最好是噪声信号。信号可包括串音噪声,它是在频域和时域中具有预定特性的随机信号。信号还可以包括射频干扰音,它具有离散频谱。这种信号中也可以包括其它信号分量。
所述方法包括以下步骤:
-在时域中表示具有时域幅度分布的第一信号,所述信号在频域中具有频谱密度,从而得到所表示信号;
-根据非线性变换处理所表示信号,所述非线性变换得到至少一种预定质量标准;
-至少通过预定时域幅度分布的反函数处理所表示信号的时域幅度分布。
这种方法还可以包括以下步骤:将所表示信号的时域幅度分布 与预定时域幅度分布进行比较,并在其后配置非线性变换从而得到已处理的所表示信号,该信号具有近似于预定时域幅度分布的时域幅度分布。
在本发明的第五方面中,公开了一种方法,这种方法还包括以下步骤:将所表示信号的时域幅度分布与预定时域幅度分布进行比较,并在其后配置非线性变换从而得到已处理的所表示信号,该信号具有近似于预定时域幅度分布的时域幅度分布。
根据本发明的第五方面,所述方法还可以包括以下步骤:在时域中表示具有幅度分布的第一信号,并且该信号在频域中具有频谱密度,从而得到所表示信号,以及在频域中对所表示信号进行滤波包括以下步骤:在频域中估计至少部分信号表示,并在其后在频域中处理所表示信号。
可以组合本发明方法的第四和第五方面。本发明方法的第四和第五方面允许在不同的迭代步骤产生信号,其中这种信号具有预定幅度分布和/或具有预定频谱密度或具有根据预定质量标准的幅度分布和/或具有根据预定质量标准的频谱密度。预定质量标准可以是信号的波峰因数,它是信号音的最大值或峰值与信号音的平均值或rms值的关系。上文所列举的处理步骤可以包括以下步骤:快速傅里叶变换(FFT)或反快速傅里叶变换(IFFT)。处理步骤还可以包括诸如信号的卷积或反卷积或者乘法或加法的运算。
在本方法的第四方面中,对所表示信号的幅度分布进行处理包括预定幅度分布的函数,该函数可包括预定幅度分布的反函数。
本发明的第四和第五方面所列举的方法还可以包括以下步骤:在频域中变换第一信号;将频域中的第一信号乘以谱包络从而得到相乘信号;以及之后在时域中表示相乘信号。
在这些方法中,可将第一信号在频域中的表示生成为一组随机数、最好是复数,其中复数的模表示幅度,复数的幅角表示相位,以及可以根据高斯分布选择基本上每个复数的实部和/或虚部。各个 复数可以基本上等于预定频谱密度的幅度。
在本发明的第六个方面中,公开了一种信号,它包括至少一个随机噪声信号,这种随机信号具有根据预定质量标准的时域幅度分布以及根据预定质量标准的频域频谱密度,随机信号由随机数阵列组成。信号还可以包括离散频谱。可以利用一组为代码格式并按预定顺序执行的指令来生成噪声信号。该组指令可以是在计算机上编译并存储在计算机或计算机网络或软盘或CD-ROM上的、或通过因特网存储的软件代码。还可以将这种软件存储在任意波形发生器(AWG)卡上,并且AWG可被用于生成这种信号或从存储器再现存储信号。因此,有可能存在一种可用信号库,其中这些信号可被用于执行或使用本发明方法的第四和第五方面。
在本发明的第七方面中,公开了一种生成包括至少一个随机噪声信号的信号,这种随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度。随机信号由随机数阵列构成,所述方法包括以下步骤:利用一组为代码格式并按预定顺序执行的指令来生成随机数组。所述方法还可以包括以下步骤:生成离散频谱,所述离散频谱利用角度测定函数并用噪声特性对基本上每个离散频率进行调制。可以利用一组为代码格式并按预定顺序执行的指令来组合随机噪声信号和离散频谱。
在本发明的第八个方面中,公开了一组为代码格式并可按预定顺序执行的指令,这组指令被配置为生成随机噪声信号和离散频谱,这种随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度。这组指令可以是在计算机上编译并存储在计算机或计算机网络或软盘或CD-ROM上或通过因特网存储的软件代码。软件还可以被存储在任意波形发生器(AWG)卡上,并且这种AWG可被用于生成信号或从存储器再现存储信号。因此有可能存在一种可被利用的可用信号库。软件可以是C语言代码或可在MATLAB环境下编译。
在本发明的第九方面中,公开了一种用于测试通信系统的操作的系统,它包括一组为代码格式的指令,该组指令可按预定顺序在装置上执行和编译,这组指令被配置为生成包括随机噪声信号和离散频谱中的至少一种的噪声信号,随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度。根据本发明的这个方面的测试系统可以包括用于生成噪声信号的减损发生器。
将减损发生器连接到被测试的通信系统的连接部件(变压器、有源器件、衰减器等)可以具有不需要的频率从属响应。例如可以通过在减损发生器中生成特定测试信号来测量这种不需要的频率从属响应。可以通过乘以信号的期望频谱密度除以连接部件的不需要频率从属响应来补偿这种不需要的频率从属响应。
在本发明的第十个方面中,公开了一种测试诸如xDSL调制解调器的通信系统的操作的方法,这种方法包括以下步骤:在经调制解调器收发的信号上叠加一个信号,其中所述一个信号包括随机噪声信号和离散频谱中的至少一种,所述随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度,此外,所述噪声信号由随机数阵列构成。
在本发明的第十一方面中,公开了一种测试通信系统的操作质量的方法。这种方法包括以下步骤:在经调制解调器收发的信号上叠加一个信号,其中所述一个信号包括随机噪声信号和离散频谱中的至少一种,所述随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度,此外,所述噪声信号由随机数阵列构成,并根据预定质量标准估计所收发的信号。
另外,在本发明的第十二方面中,公开了一种改进通信系统的设计和/或生产的方法,这种方法包括以下步骤:在经调制解调器收发的信号上叠加一个信号,其中所述一个信号包括随机噪声信号和离散频谱中的至少一种,所述随机信号在时域中具有根据预定质量 标准的幅度分布并在频域中具有根据预定质量标准的频谱密度,此外,所述噪声信号由随机数阵列构成;根据预定质量标准估计所收发的信号;以及迭代地配置调制解调器的设计,以便得到更接近用于估计所收发信号的质量标准。
在本发明的第十三方面中,公开了包括这样一种信号的电信网络,这种信号包括随机噪声信号和离散频谱中的至少一种,这种随机信号在时域中具有根据预定质量标准的幅度分布并在频域中具有根据预定质量标准的频谱密度,另外,所述噪声信号由随机数阵列构成。
可以组合上述各方面的特性和本发明的实施例。
上述信号、方法和指令组将提供在诸如电话电缆或无线媒体等媒体上的更高质量信号传输。更好的信号传输允许为通信系统的用户在更大范围提供更多服务。
实施例详述
为了说明本发明,以下对本发明的信号和方法以及系统的各方 面和实施例进行描述。本领域的技术人员将理解,可以设想并实现本发明的其它备选和等效实施例,并不背离本发明的真实精神。本发明的范围仅由所附权利说明书进行限制。
在本发明的实施例中,公开了一种用于测试诸如xDSL收发信机的通信系统的操作的系统。对运行存取网络中的高穿透性系统情况的测试设备的设置进行描述。
公开了一种配置用于通信系统之中或之上的信号的方法。
传输性能测试的目的是以这样一种方式加载xDSL收发信机,这种方式表示运行存取网络中的高穿透性系统情况。这种高穿透性方法允许:
(i)组件和系统设计者量化性能,并用此改进他们的设计,从而证明符合标准;以及
(ii)操作员定义应用于大多数运行情况的配置规则。
图1示意了可能的测试设置1的功能描述。它包括:
●测试回路2,它是真电缆或电缆模拟器;
●添加部件3,它向测试回路2注入减损噪声;
●高抗阻,以及非常均衡的差动电压探针4,它连接到诸如频
谱分析仪或rms电压表(未示出)等电平检测器5,以及
●测试中的xDSL收发信机(调制解调器)6、7。
当测试中的xDSL系统需要外部分流器时(用于POTS或ISDN信号),可以将这些分流器包括在测试中的调制解调器6、7中。
流经测试设备设置1的信号是从端口Tx到端口Rx,这意味着测量上游和下游性能需要交换收发信机位置和测试“电缆”端。当端口Tx以及端口Rx的末端是测试中的xDSL收发信机(调制解调器)6、7时,端口Rx的接收信号电平是节点A2和B2之间测量的电平。在这种测量期间断开减损发生器8。在相同情况下,端口Tx的发送信号电平是节点A1和B1之间测量的电平。
减损发生器8应注入到测试设置1中的噪声与频率有关。减损 发生器8注入到测试设置1中的噪声应该是实际(频谱受影响)存取网络的实际表示,并且它是:
(a)取决于测试回路2的长度,以及
(b)在下游性能测试和上游性能测试中不同。
在节点A2和B2之间测量的这种减损噪声通常是随机噪声、冲击噪声和谐波噪声(射频干扰音)的混合。一组特性被标识为“噪声分布”。
用相当均衡的差动电压探针4测量信号和噪声电平。
在全自动测试设置1中,测试回路2,3、电压探针4以及电平检测器5、测试中的调制解调器6,7以及减损发生器8可以连接到中央处理单元(CPU)9,如图中的虚线所示。本领域的技术人员将理解,与CPU 9的连接可涉及CPU 9进行的远程测试的数据链路。
以下是与测试设备的使用有关的说明:
●在满信号带上测量这种设置中的rms电压Urms[V],意味着P[dBm]的功率电平等于P=10×log10(Urms 2/Rv×1000)[dBm];
●在小频带Δf(以赫兹(Hz)为单位)内测量这种设置中的rms电压Urms[V],意味着该滤波带内的功率频谱密度电平P[dBm/Hz]等于P=10×log10(Urms 2/Rv×1000/Δf))[dBm/Hz];
●带宽Δf标识滤波器的噪声带宽,并不是-3dB带宽。
图2示意性地显示了用于根据本发明配置信号Ui(t)i=1,2,3,...以用于通信系统之上或之中的方法的实施例。信号可包括串音噪声,它是在频域中和在时域中具有预定特性的随机信号。
如图2的流程[1]所示,这种方法包括以下步骤:表示第一信号,所述第一信号包括多个频率分量,每个频率分量具有频谱幅度和相位特性,框10“第一信号”,并通过根据至少一种预定质量标准配置频谱幅度特性来处理所表示信号,以及配置随机相位特性,框11“配置”,因此得到已处理的所表示信号。
第一信号可由第一组数字表示,这组数字指定各频率分量的频 谱幅度和相位。另外,第一信号可以由具有实部和虚部的第二组复数表示,实部和虚部的组合指定各频率分量的频谱幅度和相位。也就是说,复数的模表征频率分量的频谱幅度而复数的幅角表征频率分量的相位。
根据本发明,对所表示第一信号10进行处理,以配置随机相位特性。但是,从具有随机相位特性的所表示第一信号10开始,对于根据预定质量标准对信号的频率进行整形,它足以对频率分量的频谱幅度进行整形。
这种方法还可以包括以下步骤:在时域中表示第一信号,其中第一信号由第三组数字表示,其中每个数字指定第一信号在时域中的幅度。通过例如利用FFT算法将第三组数字从时域变换到频域,得到指定各频率分量的频谱幅度和相位的第四组数字。同样地,通过根据至少一种预定质量标准配置频谱幅度特性以及配置其随机相位特性来处理第四组数字。
通过例如利用反FFT算法(IFFT)将已处理的所表示信号从频域变换到时域,框12“变换”,最终生成具有至少一种预定质量标准的信号U1(t)。
尽管信号U1(t)满足频域中的至少一种预定质量标准,比如谱包络和/或预加重特性,还可能需要提供在时域中具有预定质量标准的信号。
如图2中流程[2]和[3]所公开,即框13“幅度形状”和框14“频率形状”,时域中的质量标准可包括预定幅度分布和/或预定频谱幅度包络。
这种方法还可以包括以下步骤:在不同的迭代步骤中产生信号,见图2[4],框15“测试形状”和反馈回路16。因此,信号可以具有预定时域幅度分布和/或预定频谱幅度包络和/或根据预定质量标准的频谱密度。
至少一种预定质量标准可以是信号的波峰因数,也就是信号音 的最大值或峰值与信号音的平均值或rms值的关系。
可以利用一组为代码格式并可按预定顺序在装置上执行并编译的指令来生成并存储信号。这组指令可以是在计算机上编译并存储在计算机或计算机网络或软盘或CD-ROM上、或通过因特网存储的软件代码。这种软件还可以存储在任意波形发生器(AWG)卡上,并且AWG可被用于生成信号或从存储器再现存储信号。因此,有可能存在可用信号库,其中这些信号可被用于执行或使用本发明的方法的第一和第二方面。通信系统可以是诸如xDSL调制解调器6、7的装置,或这种调制解调器6、7内或用于这种调制解调器6、7的芯片或电信网络。
进行图2的框13“幅度形状”中的处理,从而得到对时域特性的影响或控制。选择幅度失真(变换)函数Q(x)来放大信号的高幅度峰值或信号音。可以从信号的实际幅度分布函数和预定幅度分布函数重构非线性变换函数Q(x)。
对于0到T之间时段t中的噪声信号f(t),信号的幅度分布F(a)被定义为噪声f的绝对值大于a的时间部分。如果G(a)是预定幅度分布(如增强高斯函数,见下文),并且G-1(a)是其反函数,则从噪声信号f(t)产生中间或最终信号g(t)的变换函数Q(x)可被定义为:
Q(x)=sign(x)·G-1(F(|x|)) (1)
g(t)=Q{f(t)} (2)
sign(x)=x/|x| 其中x<>0;sign(x)=0其中x=0;
因此,g(t)将具有预定幅度分布G(a)。在许多情况下,Q(x)可以是解析函数但也可以用数字构造。增强高斯函数的例示如下:
高斯类型噪声的幅度分布是:
其中
并且其中σ是信号的RMS值。
“增强”高斯分布被定义为:
如果VRMS是噪声采样的期望RMS值,并且Cf是期望波峰因数,选择:
A=Cf×VRMS,并且(6)
已证明有用的a的典型值是0.001和0.01之间的大小,并且它表示增强高斯分布与实际高斯分布的偏差。
在图2的框14频率形状中,作为后处理步骤,改进了信号的频域特性,从而得到与所述或各种质量标准的进一步匹配。例如,通过用(中间)信号U2(t)的测量频谱密度与预定频谱密度进行比较(除),可得到校正频率曲线。在下面对FFT函数的卷积的描述中的最佳模式实施例中给出其例示。
图2的部分[4]中,示意了上文详细描述的步骤的迭代过程如何可以导致对用于通信系统之中或之上的完成或最终信号的进一步改进。执行迭代过程、即框15测试形状的频率形状测试以及反馈回路16,直到得到预定质量标准。
图3在示意性图解中说明利用根据本发明的方法提供干扰噪声信号。
如在前序中所公开的,干扰噪声可以由离散载频fci,i=1,2,3...上的多个频率分量表征。载频fci上的频率分量各自具有载波幅度Aci,i=1,2,3...,以及(如果可适用)具有调制宽度、即相关载频fci的左手边和右手边的多个离散频率,以及具有调制深度,这种调制深度是与相应载频fci有关的边频幅度。
图3在具有水平或频率轴f和垂直或幅度轴A的图形表示中, 仅作为例示显示了由两个载频fc1和fc2组成的信号,这两个载频分别具有载波幅度Ac1和Ac2。
载频fc1的两侧旁配置了三个边频分量,各边频具有幅度A1。对于载频fc2两侧的频率分量,配置了两个边频分量,各边频分量具有幅度A2。
根据本发明,为了提供具有至少一种预定质量标准的信号,必须对频率分量的幅度进行整形,如在图3中用虚线1和2所示。
从具有随机相位特性的所表示第一信号开始,根据本发明,通过对幅度进行整形,在要提供的具有预定质量标准的信号中保持随机相位特性。
图4示意性地显示用于配置在通信系统之中或之上使用的信号的方法的另一实施例,具体地说,这种方法在已经提供随机相位特性时使用。该信号包括串音信号,它是在频域中和在时域中具有预定特性的随机信号。该信号还可以包括具有离散频谱的射频干扰音。另外,这种信号中可以包括其它信号分量。
这种方法还可以包括以下步骤:在时域中表示第一信号,所述第一信号具有幅度分布,并且该信号在频域中具有频谱密度,进而得到所表示信号;以及根据非线性变换处理所表示信号,所述非线性变换实现预定质量标准。这在图4中被示为幅度整形,流程[2-4]。
这种方法还可以包括以下步骤:在时域中表示第一信号,所述第一信号具有幅度分布,并且该信号在频域中具有频谱密度,进而得到所表示信号;根据预定频谱密度质量标准处理所表示信号,直到得到具有频谱密度的信号。这在图4中被示为频率整形,流程[2-4]。频率整形步骤还可以包括以下步骤:在频域中对所表示信号进行滤波,其中包括在频域中估计至少部分的信号表示,以及其后处理频域中的信号表示的步骤。
这种方法还可以包括以下步骤:在不同的迭代步骤中产生信号,见图4的流程[4]。因此,信号可以具有预定时域幅度分布和/或预定 频谱密度或根据预定质量标准的时域幅度分布和/或频谱密度。预定质量标准可以是信号的波峰因数,也就是信号音的最大值或峰值与信号音的平均值比较的关系。可以利用一组为代码格式并可按预定顺序在装置上执行和编译的指令来生成并存储这种信号。
同样地,这组信号可以是在计算机上编译并存储在计算机或计算机网络或软盘或CD-ROM上、或通过因特网存储的软件代码。这种软件还可以被存储在任意波形发生器(AWG)卡上,并且AWG可被用于生成信号或从存储器再现存储信号。因此,有可能存在可用信号库,它可以用于执行或使用本发明的方法。通信系统可以是诸如xDSL调制解调器、或这种调制解调器内或用于这种调制解调器的芯片、或电信网络的装置。在图4中详细说明了以下实施例。
利用软件生成随机数,框16“创建噪声”。在硬件中可以生成白噪声。对随机数进行过滤直到得到预定频谱密度。所生成的随机数各自表示一个频率分量。通过调整复数的幅度来执行得到预定频谱密度的必要处理,之后进行IFFT处理,从而产生期望噪声信号。执行这种方法的另一种方式是生成表示各频率分量相位的随机数,并在其后复数的幅度被配置为近似于或等于预定频谱密度。
为得到对时域特性的影响或控制,进行框13“幅度形状”的处理。图5示意了选择幅度失真(变换)函数Q(x)来放大信号中的高幅度峰值或信号音。如以上针对公式(1-7)所述的,可以从信号的实际幅度分布函数和预定幅度分布函数重构非线性变换函数Q(x)。
在图4的框14“频率形状”中,改进了信号的频域特性。通过用(中间)信号的预定频谱密度与测量频谱密度进行比较(除)得到校正频率曲线。在后续对FFT函数的卷积中描述的最佳模式实施例中给出其例示。
在图4的流程[4]中,就象图2中流程[2]一样,再次示意了上文详细描述的步骤的迭代过程如何可以导致用于通信系统之上或之中 的最终进一步改进。执行迭代过程,直到得到预定质量标准。
如上所述,通过根据本发明的方法,利用诸如减损发生器8的装置,可以生成表示串音噪声和干扰噪声的信号,见图1,其中的减损发生器可被配置为提供由串音噪声信号和干扰噪声信号构成的信号,同时如果需要,可以在要提供的输出信号中加入其它信号分量。
在本发明的实施例中,可以有利地将要提供的信号作为时域中的第六组数字提供,例如数字阵列。
图6在流程类型的图中示意了运行在个人计算机20上的本发明的例示实施例。被称为SPOCS的框21生成减损噪声,它包括框22“白噪声”、FFT提供的框23“频谱整形”、IFFT从框23的输出产生的框24“期望噪声信号”,框24的结果信号被存储在AWG卡25中。在串音情况中,即框26,建立噪声PSD(功率频谱密度),框27,由框23对噪声PSD进一步处理。
下文公开了本发明的一组指令的最佳模式实施例。下文给出的代码在MATLAB环境下编译。%符号后面给出了关于代码功能的注释。对于本领域的技术人员来说,所提供的代码是不解自明的。
图7-9示意了通过最佳模式实施例得到的结果。图8示意了生成噪声样本以及噪声分布的PSD的频谱曲线。图9示意了生成噪声样本在时域中的曲线。图10示意了生成噪声样本的分布函数曲线。图11示意了生成噪声样本的累积分布函数曲线。图7示意了图形用户界面以及AWG控制的设置。
%----------------------------------------------------------------------------------------------------
函数DemoImpair2;
%----------------------------------------------------------------------------------------------------
%DemoImpair2
%Matlab编程语音编写的代码,演示了减损发生器的基本算法。
%
%所演示的算法全面控制预定质量标准,例如:
% -在用连续频谱产生噪声时的频域和时域特性(幅度;概率分布)
% -在用离散频谱生成噪声时的载波幅度、载频、调制深度和调制
%宽度
%独立计算两种类型的噪声,并且在时域中作为数字阵列表示。
%可以通过增加这些阵列元素的方式同时得到两种类型的噪声。
%
%
%
%
%(c)2000-2001 KPN Research;
%
%演示函数
%DemoXtalkNoise -表示产生连续噪声的过程
%DemoIngressNoise -表示产生离散噪声的过程
%
%主函数:噪声被表示为随机数阵列
%DefineShape -初始化所有用户可定义参数
%CreateNoiseCont -产生连续噪声
%CreateNoiseDiscr_Fast -产生离散噪声,快速算法
%CreateNoiseDiscr_Slow -产生离散噪声,慢速算法
%FrequencyShape -修改连续噪声的频谱密度
%AmplitudeShape -修改连续噪声的幅度分布
%
%支持函数:
%CalcSpec -计算噪声的频谱密度
%CalcNBSV -计算噪声的窄带信号电压
%
%CalcCrest -计算噪声的波峰因数
%CalcDistrib -计算噪声的概率分布
%CalcCumDistrib -计算噪声的累积分布
%CalcSmooth -平滑频谱,如在实际频谱分析仪中那样
%
%CalcEnhancedGaussDistribution -近高斯分布的示例
%CalcDemodulation -计算载波上调制的噪声
%----------------------------------------------------------------------------------------------------
Shape=DefineShape;
DemoXtalkNoise(Shape);
DemoIngressNoise(Shape);
%---------------------------------------------------------------------------------------------------
function[U,t]=DemoXtalkNoise(shape);
%----------------------------------------------------------------------------------------------------
%演示用连续频谱生成噪声
%如对于串音测试
R =Shape.R;
CF_min=Shape.Xtalk.CF_min;
[U,t]=CreateNoiseCont(Shape);plot(t,U); title(′Xtalk method 1′);shg;pause
[X,f]=CalcSpec(U,t); plot(f,X); title(′Xtalk method 1);shg;pause
[X,f]=CalcSpec(U,t); plot(f,dBm(X,R));title(′Xtalk method 1′);shg;pause
[P,u]=CalcCumDistrib(U); plot(u,P); title(′Xtalk method 1′);shg;pause
%
U=AmplitudeShape(U,Shape); plot(t,U); title(′Xtalk method 2′);xhg;pause
[X,f]=CalcSpec(U,t); plot(f,X) title(′Xtalk method 2′);shg;pause
[X,f]=CalcSpec(U,t); plot(f,dBm(X,R));title(′Xtalk method 2′);shg;pause
[P,u]=CalcCumDistrib(U); plot(u,P); title(′Xtalk method 2′);shg;pause
%
U=FrequencyShape(U,Shape);plot(t,U); title(′Xtalk method 3′);shg;pause
[X,f]=CalcSpec(U,t); plot(f,X); title(′Xtalk method 3′);shg;pause
[X,f]=CalcSpec(U,t); plot(f,dBm(X,R)); title(′Xtalk method 3′);shg;pause
[P,u]=CalcCumDistrib(U); plot(u,P); title(′Xtalk method 3′);shg;pause
%
for i=2:10
i
U=AmplitudeShape(U,Shape);
[X,f]=CalcSpec(U,t);
%
U=FrequencyShape(U,Shape);
[X,f]=CalcSpec(U,t);
%
if CalcCrest(U)>CF_min,break;end;
end;
[P,u]=CalcCumDistrib(U);
plot(t,U); title(′Xtalk method 4′);shg;%暂停
plot(f,dBm(X,R)); tit1e(′Xtalk method 4′);shg;%暂停
plot(u,P); title(′Xtalk method4′);shg;%暂停
%-----------------------------------------------------------------------------------------------------
function[U,t]=DemoIngressNoise(Shape);
%-----------------------------------------------------------------------------------------------------
%演示用离散频谱生成噪声,如对于干扰测试
R=Shape.R;
[U,t]=CreateNoiseDiscr_Fast(Shape);
%[U,t]=CreateNoiseDiscr_Slow(shape);%给出同一结果
[X,f]=CalcNBSV(U,t);plot(f,dBm(X,R));title(′Ingress method′);shg;pause
for ToneNr=[1:2]
[Uac,Uac_rms]=CalcDemodulation(U,t,Shape,ToneNr);
plot(t,Uac);title(′demodulated ingress noise of one carrier′);shg;pause
[P,u]=CalcDistrib(Uac/Uac_rms);
plot(u,P);title(′distribution of demod noise′);shg;pause
end;
%-----------------------------------------------------------------------------------------------------
function[Shape]=DefineShape;
%----------------------------------------------------------------------------------------------------
%创建应该生成的噪声的噪声分布,按照
%-频谱密度(本例示中实际上是矩形)
%-概率分布(本例示中是近高斯分布)
%-信号音和调制
%以伏特每平方根赫兹为单位的频谱
%----------------------------------------------------------------------------------------------------
Fmax=4E6;Fl=300E3;Fh=700E3;N=2^18;R=135;
cf=5.5; %期望波峰因数
cf_min=5.1; %期望波峰因数
m=N/2;
%
Shape.N=N; %时间取样数
Shape.m=m; %频率取样数
Shape.dF=Fmax./(m-1); %频率间隔
Shape.dT=1/(N*Shape.dF);%时间间隔
Shape.R=R; %期望噪声源的阻抗
%定义串音噪声目标(频谱密度&幅度分布)
Shape.Xtalk.freq =[0:m-1]′*Shape.dF;
Shape.Xtalk.spec=(Shape.Xtalk.freq>=Fl).*(Shape.Xtalk.freq<=Fh)*(1/300);
Shape.Xtalk.DistU=0:cf/1000:cf;
Shape.Xtalk.Distp=CalcEnhancedGaussDistribution(Shape.Xtalk.DistU,cf);%P
Shape.Xtalk.CF_min==cf_min;
%定义干扰噪声目标(RFI音)
P_dBm=[-70;-50;-60;-60;-40;-60;-60;-40;-70;-40];%dBm@135 ohm
P=(10).^(P_dBm/10)*1E-3;
Shape.Ingress.ToneU=sqrt(P*135); %U=sqrt(P*R);有效值
Shape.Ingress.ToneF=[99;207;333;387;531;603;711;801;909;981]*1E3;
Shape.Ingress.ModDepth=0.32*ones(10,1);%=mod index>0.8,at CF>2.5)
Shape.Ingress.ModWidth=2*4.5E3*ones(10,1); %=-10kHz..+10kHz)
%-----------------------------------------------------------------------------------------------------
function[U,t]=CreateNoiseCont(Shape);
%----------------------------------------------------------------------------------------------------
%创建噪声电压U(t),具有预定频域特性(频谱),但具有无控制的时域特性
%(分布)
N=Shape.N; %要产生的取样数
%U=rand(N,1); %均匀分布的白噪声
U=randn(N,1); %高斯分布的白噪声
U=FrequencyShape(U,Shape); %整形噪声
t=[0:N-1]′*Shape.dT; %相关时间轴
%-----------------------------------------------------------------------------------------------------
function[U,t]=CreateNoiseDiscr_Fast(Shape);
%-----------------------------------------------------------------------------------------------------
%创建电压U(t),具有AM已调载波(RFI音);每个具有单独的预定频率、
%幅度、调制宽度以及调制深度。
%每个载波音下边带的随机相位被镜像,以将任意QAM调制转换到
%(不是镜像为)更严格的AM调制(全镜像)
%标记:本算法中X指的是(近谐波)干扰噪声信号的傅里叶级数的分量,
%但是它在(伪随机)串音噪声信号的情况下指的是频谱密度
%
%
%计算时间随着取样数量大约线性增长
%全部计算时间中的大约80%由反傅里叶变换造成
%----------------------------------------------------------------------------------------------------
N=Shape.N; %取样数量
m=Shape.m; %该数量的一半
Nc=round(Shape.Ingress.ToneF/Shape.dF)+1; %载频的指数(只有正)
Nm=round(Shape.Ingress.ModWidth/Shape.dF/2); %调制次数
%分量
Xc=0.5*Shape.Ingress.ToneU; %载波幅度的幅度
Xm=Shape.Ingress.ModDepth.*Xc./sqrt(2*Nm); %调制频带的幅度
X=zeros(N,1); %初始化
Xc=Xc.*exp(j*1000*rand(size(Xc))); %随机载波相位
Xcc=(Xc.*Xc)./abs(Xc.*Xc);
for k=1:length(Nc) %对于所有已调载波,进行:
Nmp=Nc(k)+[1:Nm(k)]′; %定位上边带
%频率
Nmn=Nc(k)-[1:Nm(k)]′; %定位上边带
%频率
Xmp=Xm(k).*exp(j*1000*rand(size(Nmp))); %创建上边带
Xmn=conj(Xmp)*Xcc(k); %镜像下边带
X(Nmp)=Xmp; %插入上边带
X(Nmn)=Xmn; %插入下边带
end;
X(Nc)=Xc; %插入所有载波
X(N:-1:m+2)=conj(X(2:ceil(m))); %附加频谱
%(负频率)
%U=real(ifft(X))*N; %变换到时域
U=real(fft(X)); %变换到时域
%(快了10%)
t=Shape.dT*[0:N-1]′; %相关时间轴
%----------------------------------------------------------------------------------------------------
function[U,t]=CreateNoiseDiscr_Slow(Shape);
%----------------------------------------------------------------------------------------------------
%创建电压U(t),具有预定频率上的RFI音、幅度和调制宽度以及调制
%深度。
%本算法是直接的,非常低效的,并且只用于演示
%可以证明CreateNoiseDiscr_Fast返回相同的结果
%-----------------------------------------------------------------------------------------------------
N=Shape.N; %要生成的取样数量
m=Shape.m;
f=[0:N-1]′*Shape.dF;
t=[0:N -1]′*Shape.dT;
Fc=Shape.Ingress.ToneF; %载波频率列表
Fc=Shape.dF*round(Fc/Shape.dF);%强制整数周期
%
U=0;
for k==1:length(Shape.Ingress.ToneF);
%--产生噪声调整,具有U_avg=0并且U_rms=1
Nm=round(Shape.Ingress.ModWidth(k)/Shape.dF/2);
Xn0=([1:N]<=(Nm+1))′; %形状调制噪声幅度
Xn=Xn0.*exp/(j*1000*rand(N,1)); %形状调制噪声相位
Xn(1)=0; %消去DC分量
Xn(N:-1:m+2)=conj(Xn(2:ceil(m)));%附加频谱(负频率)
Noise=real(ifft(Xn)); %变换到时域
Noise=Noise/sqrt(sum(Noise.*Noise)/N);%强制rms=1
%--执行调制
Carrier=Shape.Ingress.ToneU(k) *cos(2*pi*Fc(k)*t+1000*rand);
Modulate=Shape.Ingress.ModDepth(k)*Noise;
U=U+Carrier.*(1+Modulate);
end;
%------------------------------------------------------------------------------------------------------
function[U]=FrequencyShape(U,Shape)
%----------------------------------------------------------------------------------------------------
%重新整形取样U的频谱,如目标形状指定的
%输入:
%U: 取样的连续值
%Fs: 取样频率
%频谱: 期望PSD(以伏特每平方根赫兹为单位)
%----------------------------------------------------------------------------------------------------
N=length(U);
m=length(Shape.Xtalk.spec);%m=N/2
t=[0:N-1]′*Shape.dT;
%执行频率调整
Scaling=Shape.Xtalk.spec./CalcSpec(U,t);
X=fft(U); %变换到频域
X(1)=0; %消去DC分量
X(2:m+1)=X(2:m+1).*Scaling; %调整频谱(正频率)
X(N:-1:m+2)=conj(X(2:ceil(m)));%附加频谱(负频率)
U=real(ifft(X)); %变换到时域
%-----------------------------------------------------------------------------------------------------
function[U]=AmplitudeShape(U,Shape)
%-----------------------------------------------------------------------------------------------------
%本函数利用幅度相关(非线性)失真函数Q(x)对函数U的幅度分布进行
%整形。
%结果是U(t)=Q{U(t)}
%
%令FF为取样的实际累积分布函数,以及
%令GG为期望累积分布函数,
%则给出的失真函数为:
%Q(x)=GG^{-1}FF(x)
%----------------------------------------------------------------------------------------------------
U0=sqrt(sum(U.*U)/length(U)); %缩放因子(用于标准化)
%计算失真函数Q
[DistP1,DistU1]=CalcCumDistrib(U/U0); %实际分布
Q=interp1(Shape.Xtalk.DistP,Shape.Xtalk.DistU,DistP1);%失真函数
U=U0*interp1(DistU1,Q,abs(U/U0)).*sign(U); %执行失真
%plot(DistU1,Q);shg;%暂停
%----------------------------------------------------------------------------------------------------
function[X,f]=CalcSpec(U,t);
%----------------------------------------------------------------------------------------------------
%当要在指定分辨率带宽上‘测量’时,计算信号的频谱密度
%
RBW=1E3; %RBW:U的频谱的期望分辨率
N=length(U);m=N/2;
dT=t(2)-t(1); %时间间隔
dF=1/dT/N; %频率间隔
f=[0:m-1]′*dF; %所有正频率
X=fft(U)*dT; %到频域
X=abs(X(2:m+1)); %无DC并且无负频率
X=sqrt(CalcSmooth(X.*X,f,RBW));%在整个带宽RBW上对它进行平均
%----------------------------------------------------------------------------------------------------
function[X,f]=CalcNBSV(U,t);
%----------------------------------------------------------------------------------------------------
%当要在指定分辨率带宽上‘测量’时,计算信号的频谱密度
%
RBW=1E3; %RBW:U的频谱的期望分辨率
N=length(U);m=N/2;
dT=t(2)-t(1); %时间间隔
dF=1/dT/N; %频率间隔
f=[0:m-1]′*dF; %所有正频率
%X=fft(U)*dT*sqrt(dF); %到频域
%X=fft(U)/N; %到频域
X=fft(U)/N*2; %到频域
X=abs(X(2:m+1)); %无DC并且无负频率
%X=sqrt(CalcSmooth(X.*X,f,RBW)); %在整个带宽RBW上对它进行平均
%----------------------------------------------------------------------------------------------------
function[CF]=CalcCrest(U)
%----------------------------------------------------------------------------------------------------
%计算信号U(t)的波峰因数,它是峰值除以rms值
%
Urms=sqrt(sum(U.^2)/length(U));
Upeak=max(abs(U));
CF=Upeak/Urms;
%------------------------------------------------------------------------------------------------------
function[F]=CalcEnhancedGaussDistribution(x,Cf);
%------------------------------------------------------------------------------------------------------
%生成累积分布函数F(x),它被标识为‘增强高斯分布’
%
%Cf=波峰因数
Alpha=le-3;
Sigma=sqrt((1+Alpha)-Cf^2*Alpha/3);
x=x.*(x>0).*(x<Cf)+Cf*(x>=Cf);
denominator=Alpha+erf(Cf/(sqrt(2)*Sigma));
F=1-(Alpha*x/Cf+erf(x/(sqrt(2)*Sigma)))/denominator;
%--------------------------------------------------------------------------------------------------------
function[DistP,DistU,P]=CalcDistrib(U)
%------------------------------------------------------------------------------------------------------
%计算信号U的幅度分布
N=length(U);
Nbins=100;
[cumbin,xx]=hist(U,Nbins);
dX=xx(3)-xx(2);
DistP=cumbin(:)/N/dX;%强制sum(DistP)*dX
DistU=xx(:);
Urms=sqrt(sum(U.*U)/N);
P=exp(-0.5*(DistU/Urms).^2);P=P/sum(P)/dX;
DistU=[DistU,DistU];
DistP=[DistP,P];
%------------------------------------------------------------------------------------------------------
function[DistP,DistU]=CalcCumDistrib(U)
%------------------------------------------------------------------------------------------------------
%计算信号U的(向后)累积幅度分布
len=length(U);
Ueff=sqrt(sum(U.*U)/length(U));
U =abs(U/Ueff);
%---估计分布函数
Nbins=min([50,floor(len/10)]);
[cumbin,xx]=hist(U,Nbins);
BinWidth=xx(2)-xx(1);
DistU=xx-BinWidth/2;%偏移
for n=[Nbins-1:-1:1];cumbin(n)=cumbin(n)+cumbin(n+1);end
DistP=cumbin/len;
%---当它们利用这个结果时,改进其它程序的数值稳定性
DistU=[0,DistU(2:end)];%从x=0开始
DistP=[DistP,1/len];
DistU=[DistU,xx(Nbins)+0.999*BinWidth/2];%增加最终(信号)点
DistP=[DistP,1e-100];
DistU=[DistU,xx(Nbins)+(1.001)*BinWidth/2];%因数1.001得到稳定性
%-----------------------------------------------------------------------------------------------------
function[PSD,freq]=CalcSmooth(PSD,freq,RBW)
%-----------------------------------------------------------------------------------------------------
%模拟实际频谱分析仪,具有有限分辨率的带宽以及高斯整形带通滤波器
%PSD=“功率频谱密度”,它是“频谱密度”的去平方(de square),
%单位为伏特每平方赫兹
%
%-----------------------------------------------------------------------------------------------------
N=length(PSD);
df=freq(2)-freq(1);
br=3*floor(RBW/df);
factor=2*br+1;
if(factor>1)
..ff=df*(-br:br); %平滑间隔
..mask=exp(-ff.*ff/(2*RBW^2));
..mask=mask/sum(mask); %分辨率带通滤波器的高斯掩蔽
..xhelp=[PSD;zeros(2*br,1)];
lp=filter(mask,1,xhulp); %智能卷积
PSD=yhelp(br+1:end-br);
end;
%---------------------------------------------------------------------------------------------------
function[Uac,Uac_rms]=CalcDemodulation(U,t,Shape,ToneNr);
%--------------------------------------------------------------------------------------------------
%解调已在离散噪声的载波上调制的噪声,只是为了演示,以证明离散噪声
%满足预定参数
%
%解调器利用同步检测,不是锁相的
%结果是全解调频带上的未知衰减
%通过测量DC电平进行后向校正,并且放大解调信号直到此DC电平被
%归一化为1伏特
%
%证明:(psi未知)
%
%令Urf=cos(w*t+psi)*(1+Uac);%=用“1+Uac”调制载波
%Uc=cos(w*t); %=载波
%Ud=Urf*Uc; %=同步检测信号
%
%则Ud=1/2*(cos(psi+2*w*t)+cos(psi))*(1+Uac);
%Ulf=cos(psi)/2*(1+Uac); %低通滤波之后
%Udc=cos(psi)/2; %=通过平均Ulf
%Uac=(Ulf/Udc)-1;
%----------------------------------------------------------------------------------------------------
N=Shape.N;
Fc=Shape.Ingress.ToneF(ToneNr); %选择载频
Fc=Shape.dF*round(Fc/Shape.dF); %强制整数周期
ModWidth=Shape.Ingress.ModWidth(ToneNr);
ModDeptk=Shape.Ingress.ModDepth(ToneNr);
%
Ud=U.*cos(2*pi*/Fc*t); %已调载波的同步检测
Nm=round(1.1*ModWidth/Shape.dF/2); %计算滤波频率
mask=zeros(N,1);mask([1:Nm,N-Nm:N])=1; %创建滤波器
Ulf=real(ifft(fft(Ud).*mask)); %执行低通滤波
Udc=sum(Ulf)/N; %找到未归一化DC电平
Uac=Ulf/Udc-1; %归一化整个电平,并且去掉DC
%
Uac_rms=sqrt(sum(Uac.*Uac/N));%必须等于ModDepth,因为Udc=1
Scale=Uac_rms/ModDepth;%必须为“1”