关于信号处理中的测量精度与频谱细化问题及其仿真实践

说明

    频谱细化问题其实很早之前就想研究并整理一下了,车载雷达中我们似乎对这个话题并不太涉及(最多只是在测角时用补0 FFT的方法),想要了解这个话题的源头是很早之前的一次面试时面试官问我:有哪些提高测量精度的方法?并进而引申出了频谱细化。当然,提高雷达测量精度的方法有很多,频谱细化只是其中的一种思路。至于频谱细化的方法,我当时只回答出了补0 FFT(我在之前的博文中说过,我非雷达相关专业的科班出身,所以欠缺的实在很多啊)…,面试完后我搜了一下,才知道zoom FFT、chirp-Z变换这些名词和方法。我当时很努力地看了一通,但是没整明白,就搁置到现在了。

    最近这两天又捡起来仔细看了看。不过我目前也不是理解得很透彻… 这篇博文并不是想完全把频谱细化这个话题掰扯清楚,只是作为一个总结,试图梳理和记录一下关于雷达测量精度和频谱细化这两个话题我现阶段的积累,方便后续如果再用到时可以及时捡起来并拓展补充。

Blog

20240131  本博文第一次撰写

目录

说明

目录

一、关于测量准确度与测量精度

二、关于频谱细化

三、FFT & 补0 FFT

四、FFT & zoom FFT

五、FFT & chirp-Z

六、频谱细化方法在车载雷达信号处理中的应用实践

七、总结

八、参考资料

九、本文代码


一、关于测量准确度与测量精度

    这两名词很好理解,只是大家似乎常将其混为一谈(至少在车载雷达领域)

    先给其下定义测量准确度衡量的是测量结果与真实值之间的差异,我们一般可以用测量均值与真实值之间的差值来量化。 可是测量精度的定义似乎有多种第一种[1]是:测量精度衡量的是测量结果自身的离散程度(与真实值无关!)。我们可以用标准差来量化它。第二种[2]是:测量精度衡量的是测量结果与真值之间的离散程度,我们一般用均方根误差来量化它。

    我们假设目标参数的真实值为y,雷达对该值多次测量的结果为:(x1、x2、x3、x4… xn),则按照前述定义,测量准确度A为:

                                                  (1-1)

    第一种定义下的测量精度P1为:

                                  (1-2)

    第二种定义下的测量精度P2为:

                                       (1-3)

    这两种定义方法的差别在于:均方根用的是目标参数真值来衡量误差,而标准差用的是测量的均值。

【甚至也有用测量精度的第二种定义来指代测量准确度的… 这里暂且搁置对这些不同定义孰对孰错的讨论】

    为更直观地理解前述概念,如下图[1]所示:

图1.1 测量准确度与测量精度的直观效果对比图

    假定上图中的小圆点为测量值,同心圆环的圆心为真实值。则上图中,图(a)表示测量准确度高,但是测量精度很差(低);图(b)表示测量准确度很差(低),测量精度很高(不过在第二种测量精度的定义下,该图下的测量精度也很差);而图(c)所示的测量同时具备很高的测量准确度和测量精度。不难理解的是:1.在实际工程应用中,我们希望这两者都很高(对应两者的值越小越好)2.这两参数可能会受到一些共同因素的影响(这个我们后面讨论),但是如果我们采信第一种对测量精度的定义,这两参数之间是相互独立的。

    测量准确度的英文单词为:Accuracy,测量精度的英文单词为:Precision。前面说在车载雷达领域这两参数时常被混为一谈,可以从下面举例里得到印证:

图1.2 大陆ARS408雷达产品参数手册-中文版(有误)

图1.3 大陆ARS408雷达产品参数手册-英文版(正确)

图1.4 国内某雷达厂家在其官网上对其前雷达产品的性能参数介绍

    车载雷达性能参数的三个核心指标是测距、测速和测角,更具体地,应该是指其分辨率和Accuracy。但是,不管是从上面的产品手册的参数介绍、官网的介绍上,还是我身边大家的交流上,我们往往会把Accuracy说成是精度:可是从精度的定义(测量的标准差或均方根值)来看,精度哪还有正负啊?

    定义不明、指代不明似乎是前面说的我们常常混淆的主要原因。

    前文对测量准确度和测量精度的概念进行了介绍,并指出了一个似乎是我们约定俗成的错误(名词创造出来就是为了大家交流的,如果其偏离的本意,但是大家都默认了这种偏离而并不影响交流,似乎也没有什么值得细说…)。这里再简单聊一聊对于车载雷达,有哪些因素会影响测量的准确度和精度

    雷达通过收发电磁波、处理回波中的信息来获得目标的距离、速度和角度,那么在这整个收发链路以及处理过程中的每个环节都会影响测量的结果:比如最常见但无法避免的噪声、外界的干扰信号、信号的多径效应、系统是否校准(校准背后的诸多原因车载毫米波雷达的校准问题(1)-CSDN博客)、电磁波的衰减目标的散射特性、雷达的系统参数所决定的雷达的测量分辨率等等。总之,有太多的因素会影响雷达测量的性能参数(由此可见要做好一个雷达系统如何的不容易…),当然,前面说的都是很底层(本质)的影响因素,我们可以用诸多更上层的参数来量化或者说代表这些底层因素,比如常见的:信噪比 SNR,我们单独拎出SNR,看看这个参数对于两者的影响

    下图[1]中,(a)为SNR = 20dB下,对同一延时的目标回波做匹配滤波,并进行10000次蒙特卡罗实验得到的目标回波峰值偏移真实值的累积结果图。(b)为不同SNR下的测量精度。(这两图我没有仿真,不过应该比较简单,读者可以参考我之前的博文进行实践:关于蒙特卡罗方法及其在信号处理中的应用-CSDN博客

图1.5 SNR对于雷达测量的影响-仿真结果图

    在文[1]中,作者还做了不同SNR下测角的仿真:

图1.6 不同SNR下角度测量结果-仿真结果图

    目标在0°,图中的中心位置(横坐标为0)对应测量结果的均值,左图中SNR为30dB,右图为10dB。

    从前述两个仿真结果图我们可以得到如下有益的结论:1.SNR其实不会影响测量准确度;2.测量精度会随着SNR的增加而提高(数值减小),第二点与[2]中给出的定义和公式是吻合的(注意:这里公式是针对比较理想的情况,没有考虑诸如干扰、校准等情况):

图1.7 参考资料[2]中给出的测量精度的定义以及测量精度公式

    影响测量准确度的因素主是分辨率、以及雷达是否做好校准:这是不难理解的:如果没有做校准,那么测量的结果自然会产生偏差,且这种偏差应该是固定(方向)的,雷达的测量准确度自然会低。 而分辨率越高可以理解成刻度间隔越小,因为我们只能取刻度值上的值,而其是非连续的,目标的最终测量结果会落在与其真实值最近的刻度上,那么自然是刻度间隔越小准确度越高。(同理,如果我们采信第二种测量精度的定义,校准以及分辨率的提高同样也会提高测量精度)。

    我们都知道,车载雷达的距离、速度、角度分辨率在雷达系统参数确定了的前提下,其分辨率也就被确定下来了。那么有没有什么方法可以进一步提高其分辨率进而提高测量的准确度&精度?(当然,我们有诸多超分辨的方法来提高角度分辨率)。或者说在即便不提高分辨率但也能提高测量准确度&精度?:频谱细化是我们可以采用的手段之一。

    【:前面这段话是一个引子… 后文将谈论的频谱细化这个话题与车载雷达中提高分辨率/精度的方法相关性不大,或者说我们几乎不会用诸如zoom FFT/chirp-Z等方法来提高雷达的测量精度(不过也有这样做的,感兴趣的读者可以试试!)。频谱细化是有诸多落地场景的,本文的话题和文章标题并不局限于车载雷达领域。】

二、关于频谱细化

    频谱细化是指对信号频谱中的某一频段进行局部放大,增加该局部频段内的谱线密度,从而实现更高的量测精度(和分辨率,分辨率似乎不会提高,不过要看和谁比较了…)。

    我们知道FFT下的频率分辨率只取决于采样时间:

                                                               (2-1)

    式中,fs为采样率,N为采样点数,Ts为采样时间。提高分辨率最直接的方法也在上面公式里了:比如可以在保持采样点数不变的前提下降低采样率、可以在保持采样率不变的前提下增加采样点数、或者两者都变,但须使得采样率和采样点数的比值变小。总之就是:要提高分辨率就得增加采样时长

    那么有没有方法在不增加采样时长的基础上提高分辨率?: 有,但是需要牺牲别的。后文Zoom FFT(ZFFT)、chirpZ(CZT)是常见的两种方法,这两种方法都是以增加计算复杂度、牺牲观测范围为代价获得的局部谱线密度(分辨率)的提高。从更广泛的角度来说,补0 FFT应该也算是一种频谱细化的方法(只要我们将观察范围内的刻度间隔降低了就算是频谱细化。不过补0-FFT是把整个观测范围内的谱线密度都提高的,它并没有提高频率分辨率!)。

    这几种方法都会对测量准确度&精度的提高带来帮助。后文分别给出了各方法与FFT的频域结果对比,相关的仿真代码见第九章的链接。

三、FFT & 补0 FFT

    FFT及其原理就不多说了,网上的资料有很多,这里直接给出仿真的结果。本次仿真的参数设计列表如下:

表3.1 仿真参数列表

参数

信号频点(六个目标,对应三组,进行对比)

40Hz、44Hz、100Hz、101.5Hz、160Hz、161Hz

采样率

400Hz

采样点数

256

噪声

加SNR为20dB的高斯白噪声

补0点数(末尾补0)

4*256

    上述参数设计下,可以得到采样时间Ts为:256/400 = 0.64s,对应频率分辨率为:1.5625Hz。得到时域&频域结果如下:

图3.1 时域仿真结果图

图3.2 两种处理方式下的频域结果

    如前所述,上述参数设计下理论的频率分辨率为1.5625Hz。所以可以看到两种处理方式下都完成了对40Hz与44Hz两个频点的分离(分辨)。而160Hz和161Hz其间隔小于频率分辨率,所以两种处理方法下都无能为力(补0-FFT没法提高分辨率)。100Hz与101.5Hz这两个频点其间隔接近频率分辨率,直接FFT下频谱间隔为1.5625Hz,大于两目标频点的频率差,这两个频点自然会藏在了一个峰下,而补0后FTT频谱更细化(变成:400/256/5 = 0.3125Hz),所以我们是有可能分辨出两个峰的(这并不说明补0后FFT可以提高分辨率,不然前面间隔为1Hz的两个频点它应该也能分辨出来才对)。

    除此之外,从所标注的40Hz与44Hz两种方法下的测量结果来看,补0后的测量准确度和精度应该是更优的!为进一步验证该点,这里设计单频点进行蒙特卡罗仿真:(单频点频率为100Hz,其余参数与前面一致)

图3.3 单频点下两种处理方式下的频域结果对比

    可以看到补0后FFT的测量结果更接近真值。不过不同SNR下每次蒙特卡罗仿真所得到的频点没有变化(因为所加的噪声并没有使得目标频点在频率维产生漂移?这和博文关于蒙特卡罗方法及其在信号处理中的应用 CSDN博客中的测角不一样)…:

图3.4 蒙特卡罗仿真结果

    补0后FFT的测量结果会更准确、精度也更高!(后面两章中的仿真将不再引入蒙特卡罗仿真。)

四、FFT & zoom FFT

    在前文说过,Zoom FFT(ZFFT)和chirpZ(CZT)背后的思路是一样的:这两种方法都是以增加计算复杂度、牺牲观测范围为代价获得的局部谱线密度(分辨率)的提高。Zoom FFT背后的原理,以及其为什么提高了局部的分辨率,读者可以参考资料[3]和[4]。

    Zoom FFT经典的处理流程如下:

图4.1 典型的Zoom-FFT处理流程

    对其做个简单说明(建议对照代码进行理解): 对于待分析的信号,我们首先设置细化区间、细化倍数、中心频率等参数,所谓的细化区间就是我们想要观察&放大的区间,这里假定为[f1 f2],细化倍数对应我们后续降采样的倍数,这里假定为D,(后续降采样过程中我们是通过在时域数据上进行等间隔抽取来实现的:不难理解的是,该操作下等价于降低了采样率),随后我们基于设置的中心频率,这里假定为fo(一般该值会设置为细化区间频段的中心:fo = (f1+f2)/2),将时域信号的零频点频移至该中心频率处,此时,我们关注的频段变成:[-(f2-f1)/2  (f2-f1)/2]。经过FFT处理后,所谓的滤波处理是指我们将该频段外的数据进行滤除,方法是:我们只拿出(截取)前述频段对应的频域数据,并对这截取的频段数据进行IFFT回到时域。之后我们对该滤波后的时域数据基于细化倍数进行降采样,最后再进行FFT处理得到细化后的我们想要观察的频率区间。

    仿真的参数列表如下:

表4.1 仿真参数列表

参数

信号频点

20Hz、24Hz、40Hz、40.2Hz

采样率

200Hz

采样点数

1024

FFT点数(FFT点数少于采样点数)

256

噪声

加SNR为20dB的高斯白噪声

细化倍数

50

细化区间

[38Hz 42Hz]

中心频率

40Hz

备注: 直接FFT处理的点数是256。 在zoom-FFT处理过程中第一处的FFT点数等于采样点数(也即信号点数,我们是对全部的输入信号进行频移处理),第二次的FFT点数可以等于采样点数,或等于FFT点数(后文的仿真中选择该值)。

    前述参数设计下,得到的结果如下:

图4.2 时域结果

图4.3 FFT & ZFFT两种处理方法下的频域结果

    FFT的点数设置为256点,则直接FFT下对应的频率分辨率为:200/256 = 0.78Hz,所以间隔为4Hz的20Hz和24Hz可以清晰分开,但是间隔为0.2Hz的40Hz和40.2Hz就无法分开。在对[38Hz 42Hz]区间进行zoom-FFT细化处理后,这两个频点可以被分开!(不过其分辨率的提高并不会到所设置的细化倍数那样高:变成原来的1/50zoom-FFT所能提供的分辨率仍然还是取决于在滤波过程中我们实际截取的点数M! 其值应该近似等于:fs/D/M,fs为输入信号的采样频率,D为细化倍数,M为滤波时我们所截取的点数。)

    但是和[4]中所说的那样,本质上zoom-FFT其实并没有提高分辨率,它只是做了频谱细化而已。读者如果细心一点会发现:我们前述zoom-FFT的操作中,实际上用满了1024个点信号区间的信息,但是我们去做直接基于FFT的处理时用的是256个点的FFT…。(读者也可以基于提供的代码去做FFT点数与采样点数相等的尝试,此时处理后的效果其实有点类似补0后FFT的处理。)

    但是Zoom-FFT处理后对测量准确度和精度的提高是显而易见的。

五、FFT & chirp-Z

    Chirp-Z变换是离散傅里叶变换的一般化,有关原理读者可以参考资料[5]和[6]。Matlab有自带的函数来实现该变换操作:

y = czt(x,m,w,a); x为输入信号; m为信号长度; w为采样间隔(螺旋轮廓点之间的比值);a为细化区间的起点。更具体和准确的读者可以进入matlab该函数的帮助界面查看,也可以进入czt函数内部查看其源代码与实现。本章只单纯使用该函数工具。

    仿真的参数设计如下:

表5.1 仿真参数列表

参数

信号频点

20Hz、24Hz、40Hz、40.2Hz

采样率

200Hz

采样点数

1024

FFT点数(FFT点数少于采样点数)

1024

噪声

加SNR为20dB的高斯白噪声

细化区间

[38Hz 42Hz]

    得到的仿真结果如下:

图5.1 时域结果

图5.2 FFT & chirp-Z两种处理方法下的频域结果

    这里可以做的分析与第四章类似。总之,可以得到的有益结论是:显而易见,chirp-Z变换是可以提高测量的准确度和精度的

六、频谱细化方法在车载雷达信号处理中的应用实践

后续有机会再试试吧。

七、总结

    本文梳理了雷达信号处理中的测量精度、准确度以及频谱细化的问题,简单探讨了它们三者之间的关系,给出了频谱细化的三种主要手段:补0 FFT、zoom FFT以及chirp-Z变换的介绍及其与直接FFT处理下的结果对比,仿真代码见第九章链接,同时给出了一些比较有料的参考资料。本文的内容不算深入,后续有机会再拓展补充。 【新建雷达成像专栏,欢迎关注订阅! 这篇文章也同时录入该专栏,作为该专栏的第一篇文章】

八、参考资料

[1] Blair, William Dale, Mark A. Richards and David A. Long. “Radar Measurements.” (2010).

[2] 陈伯孝.《现代雷达系统分析与设计》[J].西安电子科技大学学报, 2012(06):9-9.DOI:CNKI:SUN:XDKD.0.2012-06-001.

[3] 频谱细化-----Zoom-FFT算法介绍及MATLAB实现-CSDN博客

[4]  辨析改善频谱分辨率问题与栅栏效应——补零、插值、Zoom-FFT算法的影响(附Matlab仿真) - 知乎 (zhihu.com)

[5] 频谱细化-----CZT算法介绍及MATLAB实现-CSDN博客

[6] 深入Chirp-Z变换 - 知乎 (zhihu.com)

九、本文代码

信号处理中的测量精度与频谱细化问题及其仿真-博文对应的代码资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/361450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 文件IO

目录 linux下的文件分类: 文件描述符原理:(底层原理,可跳过) 虚拟文件系统: 内存中的inode与磁盘中的inode open函数 函数原型: 形参列表: 代码: close函数 er…

eNSP学习——华为交换机STP配置和选路规则

目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验步骤 基本配置 配置网络中的根交换机 理解根端口的选举 理解指定端口的选举(首先比较根路径开销) 原理概述 生成树协议(英语:Spanning Tree Protocol&#…

excel 选中指定区域

问题 excel 选中指定区域 详细问题 笔者有一个excel数据集,数据量较大,如何快速选中指定区域 解决方案 步骤1、 点击起始单元格 确定单元格坐标(建议直接CtrlC复制至剪贴板) 具体操作入下图所示 步骤2、 点击结束单元格 …

微信小程序|推箱子小游戏

推箱子游戏是一种经典的益智游戏,通过移动箱子将其推到指定位置,完成关卡的过程。随着小程序的发展,越来越多的人开始在手机上玩推箱子游戏。本文将介绍如何利用小程序实现推箱子游戏,并分享一些技术实现的方法。 目录 引言游戏背景介绍游戏规则及挑战技术实现步骤创建游戏…

Leetcode—1570. 两个稀疏向量的点积【中等】Plus

2024每日刷题&#xff08;一零四&#xff09; Leetcode—1570. 两个稀疏向量的点积 实现代码 class SparseVector { public:SparseVector(vector<int> &nums) {for(int i 0; i < nums.size(); i) {if(nums[i]) {indexNum[i] nums[i];}}}// Return the dotProd…

3 款最好的电脑硬盘数据迁移软件

您将从本页了解 3 款最好的 SSD硬盘数据迁移软件&#xff0c;磁盘供应商提供的软件和可靠的第三方软件。仔细阅读本文并做出您的选择。 什么是数据迁移&#xff1f; 数据迁移是将数据移动到其他计算机或存储设备的过程。在日常工作活动中&#xff0c;常见的数据迁移有三种&…

类Markdown实时绘图编辑器mermaid-live-editor

什么是 Mermaid &#xff1f; Mermaid 是一个基于文本的图表描述语言&#xff0c;它允许你使用简洁的语法来描述各种不同类型的图表和图示&#xff0c;例如流程图、时序图、甘特图等。 什么是 mermaid-live-editor &#xff1f; mermaid-live-editor 是一个基于 Javascript 的在…

springboot3-web开发

跟着尚硅谷学springboot3 0.配置application语法 表示复杂对象person Component ConfigurationProperties(prefix "person") public class Person {private String name;private Integer age;private Date birthday;private Child chlid;private List<Dog>…

实战Vue.js与MySQL:爱心商城项目开发指南

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

14.4.2 Flash读取与修改数据库中的数据

14.4.2 Flash读取与修改数据库中的数据 计数器是网站必不可少的统计工具&#xff0c;使用计数器可以使网站管理者对网站的访问情况有一个清晰的了解。如果仅仅是统计首页访问量的话&#xff0c;用文本文件来存储数据就可以了&#xff0c;但如果统计的数据量比较大的话(如文章系…

The Sandbox 专访|印尼国家足球队主教练申台龙

Q. 请简单介绍一下自己。 我是申台龙&#xff01;我目前担任印度尼西亚国家足球队主教练。我在印尼负责三支国家队的教练工作&#xff0c;分别是 A 组&#xff08;成年队&#xff09;、U-23 和 U-20。在韩国&#xff0c;我的名字是申台龙&#xff08;Shin Tae-yong&#xff09;…

【React】前端项目引入阿里图标

【React】前端项目引入阿里图标 方式11、登录自己的iconfont-阿里巴巴矢量图标库&#xff0c;把需要的图标加入到自己的项目中去&#xff1b;2、加入并进入到项目中去选择Font class 并下载到本地3、得到的文件夹如下4. 把红框中的部分粘贴到自己的项目中&#xff08;public 文…

VirtualBox中Ubuntu硬盘扩容

1.选中要扩容的虚拟机点击属性按钮&#xff0c;选择存储后点击控制器&#xff1a;STAT右边的 按钮 2.创建虚拟硬盘 在弹出框中选择创建按钮&#xff0c;选择VDI后点击下一步按钮 选择动态分配后点击下一步按钮 3.设置文件位置和大小 选择要保存的虚拟硬盘文件路径&#xff0c…

编程语言与编程工具总结

✍️作者简介&#xff1a;小北编程&#xff08;专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您些帮助请&#x1f449;关…

iOS 微信分身(Windows手把手教程)

我之前教过大家IOS里面去创建微信应用副本(懂的都懂)。那个教程是MAC的教程版本。就有小伙伴问到&#xff0c;有没有Windows的教程版本呢。其实相差不多&#xff0c;但&#xff0c;不过谁叫我宠粉呢。 如果你使用的Mac版本的请参考这篇文章 1. iOS 微信应用副本 (免费&安…

如何使用wireshark解析二进制文件

目录 目录 1.将已有的packet raw data按照下面格式写入文本文件中 a. Raw IP packet b. Ethernet packet 2.用wiershark导入hex文件 3.设置对应的packet类型 a. Raw IP packet b. Ethernet packet 1.将已有的packet raw data按照下面格式写入文本文件中 a. Raw IP pac…

mysql 一条查询语句执行过程顺序

整体架构 client connectors&#xff1a; mysql提供各种语言连接客户端api&#xff0c;client发送sql语句到server端进行执行 连接器&#xff08;Connectors&#xff09;&#xff1a;连接器负责客户端与服务端进行连接&#xff0c;使用mysql协议或X协议使得客户端可以通过api…

布尔逻辑与逻辑门

计算机为什么使用二进制&#xff1a; 计算机的元器件晶体管只有 2 种状态&#xff0c;通电&#xff08;1&#xff09;& 断电&#xff08;0&#xff09;&#xff0c;用二进制可直接根据元器件的状态来设计计算机。而且&#xff0c;数学中的“布尔代数”分支&#xff0c;可以…

Web前端入门 - HTML JavaScript Vue

ps&#xff1a;刚开始学习web前端开发&#xff0c;有什么不正确、不标准的内容&#xff0c;欢迎大家指出~ Web简介 90年代初期&#xff0c;Web1.0&#xff0c;静态页面&#xff0c;不和服务器交互&#xff0c;网页三剑客指Dreamweaver、Fireworks、Flash2000年代中期&#xf…

《Numpy 简易速速上手小册》第4章:Numpy 数学和统计计算(2024 最新版)

文章目录 4.1 基础统计运算4.1.1 基础知识4.1.2 完整案例&#xff1a;市场调研分析4.1.3 拓展案例 1&#xff1a;股市收益分析4.1.4 拓展案例 2&#xff1a;环境监测数据处理 4.2 线性代数运算4.2.1 基础知识4.2.2 完整案例&#xff1a;解线性方程组4.2.3 拓展案例 1&#xff1…