王天魁
(青岛四三零八机械厂,山东 青岛 266044)
某型短波气象传真机主要由短波收信装置和传真接收装置两部分组成。其中短波收信装置原理与短波收信机相同,可以使用无线电综合测试仪测试指标。传真接收装置主要由解调电路、控制电路、记录电路、面板控制电路以及感热记录器组成,负责完成气象传真机的自动控制、噪声抑制、FSK鉴频与热敏转印等功能[1]。目前,检测需要使用短波天线配合短波收信装置输出FSK调制音频作为输入信号,其依赖于气象发射台的发送时间和接收区域的收信环境,给修理调试工作带来极大不便。为解决这些问题,提高维修和调试效率,设计了一种基于声卡的气象传真音频发生器,可以将PC机加载的任意图像转换为气象传真机能够识别的音频信号。使用PC机不必考虑硬件设计,在能够满足需求的前提下几乎零成本。
依据WMO标准规定,传真信号发送端通过扫描图片方式,按照一定的速度与顺序产生一个频率变化的音频信号,经调制后通过短波发射机发送出去。该音频信号中心频率为1.9 kHz,上下频偏400 Hz。频偏根据图像像素的黑白变化而变化,黑色为1 500 Hz,白色为2 300 Hz。WMO通过规范合作系数(Index of Cooperation,IOC)与扫描速度(Revolutions Per Minute,RPM),保证了传真机之间的互通性,合作系数分别为576和288,扫描速度分别为60线/min、90线/min以及120线/min[2]。本文中测试的气象传真机参数与WMO标准一致,气象传真音频信号组成如表1所示[3]。
表1 气象传真音频信号组成
由此可见,气象传真图信号只有1 500 Hz与2 300 Hz两种正弦波,通过两种信号不同的持续时间组成气象传真信号。
声卡的性能指标主要包括采样深度和采样频率,目前常见PC声卡采样深度有8位和16位两种,高端声卡可以达到24位和36位。采样深度反应了声波量化的精确程度。当使用16位声卡时,可将声波分成65 536级,由于PC声卡最大输出电平约3 dBm,此时16位最小分辨率可以达到0.017 mV。声卡常见采样频率有11 kHz、22 kHz、44.1 kHz、48 kHz及96 kHz,高端声卡可达192 kHz,并采用专用DSP处理芯片。采样频率越高,用来描述离散信号的点就越多,失真越小,如48K采样率时,可以用48个点描述一个周期的1 kHz正弦波信号。气象传真中用到的信号最高频率为2 300 Hz。依据奈奎斯特定理,44.1 kHz采样率就可以完整还原信号。
声卡输出的量化指标主要有总谐波失真(Total Harmonic Distortion,THD)、信噪比(Signal-Noise Ratio,SNR)以及最大不失真输出电平,用来反映数字声音信号经声卡DAC后输出音频的还原度[4]。本文中PC端声卡为HD Audio,Realtek ALC 3287 Codec,支持Dolby Audio,设置采样率为44.1 kHz,16位单声道输出,实际使用AV4945C型无线电通信综合测试仪分别测试 300 Hz、1 kHz、1.5 kHz、2.3 kHz以及3 kHz正弦信号,声卡音量调整为最大时接600 Ω负载的总谐波失真、信噪比、频率响应(较1 kHz)、频率误差以及最大输出电平,结果如表2所示。
表2 Realtek ALC 3287 Codec最大音量输出测量表
可以看出,声卡输出音频能够满足气象传真音频信号要求。
PC中存储的图片通常为24位真彩色,组成一幅彩色图像的每个像素值中有R、G、B三个基色分量,各占8位,每个基色分量直接决定显示设备的基色强度。如果要显示仅包含黑、白两种颜色的图像,则需将彩色图像二值化,而图像二值化要先得到灰度图。
灰度图满足每个像素的R、G、B值相等,这个值就是灰度值。高清彩色图像转化成灰度图遵循ITU Rec.709标准亮度方程,即:
得到灰度图后,通过设置阈值并与灰度值比较确定像素是黑还是白。阈值的选择通常有直接阈值法、自动阈值法、最大类间法以及局部自适应法4种。直接阈值法就是直接指定阈值,通常选择128;自动阈值法是利用直方图方找到图像的两个最高峰值,然后在选择峰谷的最低点作为阈值;最大类间法则是通过最大灰度与最小灰度的均方差确定阈值,其具有不受图像亮度和对比度影响,运算速度快的特点;局部自适应法不选择全局阈值,而是根据自定义的块大小进行局部阈值选择,具有准确检测灰度变化的优点,对于存在文字和线条的图像具有很好的二值化效果,本文中阈值选择即使用了此方法[5]。
二值化后的图像已经具备转换的条件,但要保证输出的记录图像与载入图像的长宽比一致并能够充满扫描线,需要等比例拉伸载入的图像。取扫描线长度为256 mm,当合作指数为576时,扫描线密度为7.06线/mm,此时图像像素宽度应为256×7.06≈1 808像素;当合作指数为288时,扫描线密度为3.06线/mm,此时图像像素宽度应为256×3.53≈904像素[3]。通过拉伸使载入图像的宽度分别在576和288合作系数时达到1808、904像素,此时图像的长度像素数决定了扫描总行数。
综上,由程序加载的图像在转变为符合WMO标准的音频信号前,需首先转为灰度图,然后二值化,再进行图像等比例拉伸,使图像宽度变为规定像素数,同时得到扫描行数。
软件实现使用C#开发语言,.Net版本为4.5.0,开发工具使用VS2019,图形界面使用Winform,视频处理使用了自带System.Drawing.Graphics与System.Drawing.Imaging类库;音频处理使用了NAudio.Net库,版本选择了1.8.3版,是最后一个没有.Net版本依赖的版本。
NAudio.Net库是基于Windows系统的音频处理类库,能够使用WaveOut、DirectSound、ASIO以及WASAPI等多种方式输出音频,支持主流文件格式,自带音频发生类支持正弦波、矩形波、三角波、白噪声、粉红噪声及扫频等多种信号,能够对音频进行分割、链接、混音与变频等声效处理,支持将音频保存为音频文件,支持ACM解码器的动态加载及显示声道波形图等功能[6]。
程序设计过程中图像二值化使用局部自适应法,通过选择不同合作系数和扫描速率确定图像拉伸宽度与长度[7-10]。音频格式WaveFormat的采样率为44 100 Hz、深度为16位、单声道输出,使用Signal Generator类定义黑、白信号源,音频片段ISample Provider可以由信号源通过持续时间得到。其中行图像生成音频片段是通过计算行中黑、白像素连续区间长度l得到,连续区间的信号持续时间t=tr×l/1 808,tr为行扫描时间,当扫描速度为120线/min时,tr=475 ms。使用Concatenating Sample Provider类链接音频片段得到完整音频,最后通过Wave Out输出。
由于生成后的FSK信号是交替变换的两个频率正弦波,如不控制波形的初相位,那么输出音频能够听到明显的“喀哒”声音,接收装置会识别到干扰信号,此时需要消除信号间的相位差,即信号的初相位φ等于前一个信号的末相位φ'。可以直接根据时域公式计算出离散的初相位,正弦波遵循的公式为:
式中:A为正弦波的振幅;φ时正弦波的初始相位角;f为正弦波的频率,单位为Hz;ω为角频率,等于2πf;t为时间。
产生的音频信号在与噪声混合前,可以通过ISampleProvider接口的gain属性调整信号的增益,形成信噪比不同音频,测试不同噪声下的输出音频对接收打印装置的影响。
通过PC声卡输出音频为不平衡信号,直接加载到接收装置600∶600隔离变压器前端,通过比较热敏打印效果与加载图像比例相同,图像清晰。加载噪声后明显可见图像清晰度变差,与预期一致。
本文针对短波气象传真机在维修和调试过程中受制于气象传真的发送时间和接收区域环境的问题,设计了一种利用PC机加载图像,转换音频信号模拟气象传真。能够不依赖外部气象传真信号,不受接收时间和接收环境的限制,在实际维修和调试过程中具有很好的使用价值。