主要内容

comm.BasebandFileReader

从文件读取基带信号

描述

comm.BasebandFileReader系统对象™从程序写入的特定类型的二进制文件中读取基带信号comm.BasebandFileWriter系统对象。基带信号通常从非零中心频率向下转换为0赫兹。的SampleRate而且CenterFrequency属性在创建文件时保存。的comm.BasebandFileReader对象自动读取采样率、中心频率、通道数和任何描述性数据,并将它们保存到其只读属性中。

从文件中读取基带文件。

  1. 创建comm.BasebandFileReader对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

bbr= comm.BasebandFileReader对象写入的特定类型的二进制文件中读取基带信号comm.BasebandFileWriter系统对象。

例子

bbr= comm.BasebandFileReader (设置文件名财产

bbr = com . basebandfilereader (fname,spf)还设置SamplesPerFrame财产防晒系数

bbr = com . basebandfilereader (___名称=值)除了使用来自任何先前语法的输入参数组合外,还使用一个或多个名称-值参数设置属性。例如,SampleRate2设置基带文件读取器的采样率为2。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

要读取的基带文件的名称,指定为字符串标量或字符向量。对象保存并显示绝对路径。

提示

如果该文件不在MATLAB中®Path,指定绝对路径。

数据类型:字符串|字符

此属性是只读的。

保存的基带信号的采样率(以Hz为单位),作为正标量返回。

数据类型:

此属性是只读的。

保存的基带信号的中心频率(以Hz为单位),作为正标量或行向量返回。当此属性为行向量时,每个元素是多通道信号中一个通道的中心频率。

数据类型:

此属性是只读的。

保存的基带信号中的通道数,作为正整数返回。

数据类型:

此属性是只读的。

描述基带信号的数据,作为创建基带文件写入器时定义的字段结构返回。如果文件没有描述性数据,则此属性为空结构。

数据类型:结构体

每个输出帧的采样数,指定为正整数或.当此属性为,输出帧包含基带文件中的所有样本。

数据类型:

选项,以重复读取基带文件,指定为逻辑0)或1真正的).

  • 当此属性为,如果最后一帧被部分填充,该对象将向最后一帧追加0。然后,对象返回全0帧。

  • 当此属性为真正的时,对象从第一个示例开始重复读取文件。

数据类型:逻辑

使用

语法

描述

例子

样品= bbr ()属性指定的文件中读取基带信号文件文件名财产。

输出参数

全部展开

基带样本从文件中读取,返回为SamplesPerFrame——- - - - - -NumChannels从指定的基带信号文件中读取的复值矩阵文件名.当SamplesPerFrame属性是,输出矩阵包含基带信号文件中的所有样本。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

信息 基带文件读取器的特征信息
结束 资料终端状态
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

函数的一次调用从文件中读取基带信号comm.BasebandFileReader系统对象。要在对对象的一次调用中读取文件中的所有样本,可以将每帧的样本设置为或者数据文件中的样本数。

创建一个基带文件读取器对象,将每帧的样本设置为.使用信息方法获取有关的附加信息bbr.该文件包含10,000个类型样本“双”.没有样本被读取。

bbr1 = com . basebandfilereader (“baseband_samples_1ghz.bb”, SamplesPerFrame =正)
bbr1 = com . basebandfilereader属性:Filename: '/tmp/Bdoc22b_2134332_2752530/tpba391864/com -ex94749964/baseband_samples_1ghz. com . bbr1 = com . basebandfilereader属性:bb' SampleRate: 1 CenterFrequency: 100000000 NumChannels: 1 Metadata: [1x1 struct] SamplesPerFrame: Inf cyclicrepeat: false
信息(bbr1)
ans =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 0

现在阅读的全部内容baseband_samples_1ghz.bb文件的一个调用bbr对象。确认已读取所有样本。

Samples1 = bbr1();信息(bbr1)
ans =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 10000

释放基带文件读取器资源。

发行版(bbr1)

或者,要在对对象的一次调用中读取文件中的所有样本,可以将每帧的样本数设置为数据文件中的样本数。要做到这一点,你必须更新每帧设置的样本(bbr。SamplesPerFrame的值NumSamplesInData信息对象的功能。

属性返回的结构信息对象的功能。

bbr2 = com . basebandfilereader (“baseband_samples_1ghz.bb”
bbr2 = com . basebandfilereader with properties: Filename: '/tmp/Bdoc22b_2134332_2752530/tpba391864/com -ex94749964/baseband_samples_1ghz. com . bbr2 = com . basebandfilereader with properties:bb' SampleRate: 1 CenterFrequency: 100000000 NumChannels: 1 Metadata: [1x1 struct] SamplesPerFrame: 100 cyclicrepeat: false
Bbrinfo = info(bbr2)
bbrinfo =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 0
bbr2。SamplesPerFrame = bbrinfo。NumSamplesInData
bbr2 = com . basebandfilereader with properties: Filename: '/tmp/Bdoc22b_2134332_2752530/tpba391864/com -ex94749964/baseband_samples_1ghz. com . bbr2 = com . basebandfilereader with properties:bb' SampleRate: 1 CenterFrequency: 100000000 NumChannels: 1 Metadata: [1x1 struct] SamplesPerFrame: 10000 cyclicrepeat: false

现在阅读的全部内容baseband_samples_1ghz.bb文件的一个调用bbr对象。确认所有样品都已读取,并对读取的样品进行比较bbr1而且bbr2

Samples2 = bbr2();信息(bbr2)
ans =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 10000
isequal (samples1 samples2)
ans =逻辑1

释放基带文件读取器资源。

发行版(bbr2)

通过多次调用基带文件读取器System对象™从文件中读取基带信号。

创建一个基带文件读取器对象。

bbr = com . basebandfilereader (“baseband_samples_1ghz.bb”
bbr = com . basebandfilereader with properties: Filename: '/tmp/Bdoc22b_2134332_2752530/tpba391864/com -ex87872352/baseband_samples_1ghz. com . basebandfilereaderbb' SampleRate: 1 CenterFrequency: 100000000 NumChannels: 1 Metadata: [1x1 struct] SamplesPerFrame: 100 cyclicrepeat: false

使用信息对象函数获取基带文件读取器的附加信息。该文件包含10,000个数据类型示例.没有样本被读取。

信息(bbr)
ans =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 0

基带文件(baseband_samples_1ghz.bb)包含10,000个样本。因为在基带文件读取器对象中,每帧的采样数被设置为100,所以读取基带文件的全部内容需要多次调用该对象。要从文件中读取所有示例,请使用结束对象函数来终止循环。

Y = [];~isDone(bbr) x = bbr();Y = cat(1, Y,x);结束

使用信息对象函数确认已从文件中读取了所有示例。总的样本数和读取的样本数是相同的。

信息(bbr)
ans =带字段的结构:NumSamplesInData: 10000 DataType: 'double' NumSamplesRead: 10000

绘制基带数据的绝对幅度。

情节(abs (y)标题(从文件中读取基带信号)包含(“样本”) ylabel (“振幅”

图中包含一个轴对象。标题为“Baseband Signal Read From File”的axes对象包含一个line类型的对象。

释放基带文件读取器资源。

发行版(bbr)

扩展功能

版本历史

在R2016b中引入