matlab图像增强-利用位面图传输密文

2020.10.4更新: 发现虽然在图像中加入密文成功,但在利用函数imwrite()保存图像时,因为格式jpg为压缩格式,实际上对图像数据进行了变换,属于有损压缩。 因此需要选择矢量图的保存方式,如bmp.因此原本上传的图像无法正常解密,现在更新的图像可以。此处感谢@yezixuan的指正! 任务 数字图像课程中一个很有趣的一个地方是位面图,即把灰度图的8位拆解,并将各位输出图像。但前面的高位体现出图像的细节,低位几乎没有影响。因此老师提到一个思路是通过图像传输密文,这里进行模拟体验。 过程 获取位面图 首先将图片转为灰度图,再将灰度值用二进制编码表示,最终得到各平面的结果。 下面代码是第8位(最低位)的位面图输出过程,其他各位相似。 位面图像 加密 利用工具:汉字二进制转换器。将需要传递的文字信息转化为二进制编码。 下一步,只需要将二进制编码以约定形式集成到图片中,再通过叠加传输至对方手中,进行解密即可。 字符串切分 在工具中将utf-8编码的汉字转化为二进制,根据网页提供的资料可知,每个汉字对应的编码为3字节,即占据3*8bit=24bit。 不同的字符集对同一个多字节字符的编码可能不同,并且对其编码的字节数也可能不同。例如“中”字,Unicode使用4字节表示,UTF-8使用3字节,GB18030则使用2字节不同的编码表示。所以在汉字与二进制转换中需要考虑到字符的编码,通常,按照UTF-8编码与二进制进行转换。 汉字二进制转换器 因为matlab提供字符串分割函数split(str,’ ‘),与python中用法相同,即将字符串str用引号内的字符分割开来,且引号中的字符被舍去。 hint:与split()形成反函数的对应函数为join(),可以将得到的密文字符串重新合并。 需要注意的问题是,应用函数split()后得到的是cell类型的数组,不可能直接赋值给char类型的数组,需要强制类型转换。 加密效果 由于只更改了部分像素点灰度值的最末位,故显示在灰度图上肉眼不可区分,能够实现传输密文功能。 解密 下面是添加密文之后得到的图片,全部过程已经包含在代码中。有兴趣的朋友可以尝试解密,成功者惊喜奉上。 下载图片链接

matlab数字图像处理——直方图均衡重现老照片

任务 在课堂上学习了直方图均衡化的处理手段,看到外国女子的脸部增亮,这是在空域中实现变换增强的方法之一。尝试在matlab中实现相关方法,并用网上的老照片进行实验,效果不错。 过程 得到灰度图的直方图 灰度图的获取可以参考博文matlab数字图像处理——RGB转灰度图,当然也可以直接调用系统函数rgb2gray() 直方图其实是统计不同灰度等级的像素点数目大小,并通过除以图像像素点总数目,得到归一化结果/概率。 得到累积直方图 因为需要对灰度等级进行映射——把某个阶段的灰度值对应到均衡的结果,那么我们需要取得中间变量:累积直方图。 得到映射关系 映射关系可以利用matlab的矩阵运算实现,直接将表达式中的变量用矩阵替换即可。分别表述这行代码中变量的含义: cRecord:上一部分得到的累积直方图 256:总共的灰度等级 -1是因为在matlab中,uint8的范围在0~255 mapValue: 索引值继承等号右边唯一的矩阵——cRecord的含义,是每个灰度等级 内部的值表示通过运算映射得到新的灰度等级 根据新的映射关系修改原图的灰度值 这一步的目的比较清晰,已经通过上一步得到了映射关系,只要将原图中的灰度等级修改为映射后对应的灰度等级即可。 问题与解决方法 残影 整个过程比较顺利,只是第一次显示直方图时有些奇怪: 结果图P5只能隐约看到lena的轮廓,通过显示该图像的变量类型找到答案,变量并非图像的uint8类型,而是double类型。问题出在初始化变量上,我利用zeros()函数,当我把赋值改为强制类型转换后,问题解决。 class(newImg) ans = ‘double’ 结果展示 参考资料 如何提取特定位置以后的字符串(出处: MATLAB中文论坛) MATLAB中画柱状图

matlab实现FFT(快速傅里叶变换)

任务 接上篇,尝试使用快速傅里叶变换实现空域到频域转换 过程 判定2的幂次 由算法可知,对于长度为2的幂次的序列可以进行变换,但对于大多数情况非2的幂次应该如何解决?答案是补零至2的幂次。 判定 简单的判定方法,利用2的幂次(M)在二进制中的独特性,首位为1,余位为0;且减1后(M-1)原首位为0,余位为1,则有M&M-1=0 matlab中的按位与函数为bitand(),与&不同  bitshift(num,n); num表示需要移位的数,十进制; n为正左移,负右移。 求大于一个数字的二进制的最高位 思路,通过移位,当非2次幂数的第i位移出使原数为0,则最高位为i。可以将2次幂数-1转换为相同情况。 函数实现 首先强制类型转换,转换为固定的uint8类型。 matlab没有三目运算符,则用if…else语句实现。将特殊情况0单独列出, 调用临近最高位的求取函数highestOneSite(M) 位的对换 算法实现需要将输入数据排列为满足算法需要的次序,可以推导发现,满足的映射规则为第x个数为x的二进制数颠倒后的结果。 a是0~255的整数 b=dec2bin(a,8);%b是8位’0′,’1’字符串 h=b(1:4); %高四位 l=b(5:8); %低四位 MATLAB中怎么将一个常数(0到255)转为8位二进制数–dukinkin  但在matlab中,由于数组下标从1开始,需要进行-1的操作进行映射 即F(abcd)《-》f(dcba) bottom-up实现 足足思索了几个小时,终于捋清x点变换的逻辑。 指数部分函数W表示 其中W可视为函数: matlab代码为: 首先从一维开始理解,由于需要变换的矩阵长度已经过判定2的幂次并补零至最邻近的2的幂次(N=2^n),则可通过不断奇偶二分,从原始的N点变换,分解为两个N/2点变换,再到N/4点变换、……、8点变换、4点变换、2点变换。最后的1点变换,因为公式(1)中u为0,则指数项为0,即1点变换视为原值。 上面的思路确定了如何从需要变换的函数得到分解因子,本次实现通过从因子逐层自底向上推出。重点在于清楚公式中的分子的表示,以及在存储矩阵中的位置。 二维实现 利用matlab实现DFT(离散傅里叶变换)与优化 的读取图像和灰度图转换,得到了灰度图像grayImg 再利用之前的频移函数showShiftImg(twoD)得到频移到中心点的图像。 matlab技巧——如何利用其他文件夹下的函数 addpath D:\Matlab即可使用路径D:\Matlab下的函数 结果展示 ans = 442 785 3 时间已过 17.532276 秒。 现在运行给定图像需要的时间实际为17.5s,相比于优化后的DFT的12s居然不降反升,所以要想达到更有效的应用,需要继续优化。 参考文章 《图像工程 (上)<图像处理和分析>》… Continue reading matlab实现FFT(快速傅里叶变换)

matlab实现DFT(离散傅里叶变换)与优化

任务 《数字图像处理》课程布置: 编写程序(建议Matlab )对某选定图像(自行转换为灰度图)展开傅里叶变换,提取傅里叶变换图像(将频率原点移至图像中心) , 并形成实验报告。 为与matlab中代码一致,便于理解,此处的公式我全部整理为数组从下标1开始。此外,增强特殊性,图像大小为NxM 基本知识 此前尝试用matlab实现傅里叶变换,用基本公式对方波函数进行傅氏变换。但其特点: 函数连续(在matlab进行抽样离散处理,绘制波形) 范围趋近无限(在matlab中把n取大值范围) 可见,对于模拟值用计算机进行傅氏变换需要首先进行离散处理,那么对于本身是离散值的数字图像,则直接利用离散傅里叶变换即可。 这里图像大小为NxM 前面括号内的系数其实可舍去,主要起到归一化的作用,因此形式不必纠结。 首先,将二重变换利用傅氏变换的性质可以分解为两次单重变换: 与公式相一致:本人代码先按行遍历,对列(y表示)变换;再按列遍历,对行(x表示)变换 过程 读取图像 测试图片选取经典上图,但大小是压缩的200×200,因此对于初次使用比较友好。 matlab中句末引号可选,不加则会输出左值结果至命令行窗口,如上述代码的size(Img) 转换为灰度图 通过在读取的图像信息判断是否为单通道,是则直接使用,否则将RGB图像通过转换函数rgb2gray()转换为灰度图。 三重循环实现 可以通过tic,toc放在代码前后进行时长测试 注意u和v的范围是从0开始取值 ans = 200 200 3 时间已过 12.674382 秒。 频移函数 这里直接显示经过处理后的傅氏变换的图像 核心是将原图四个角点移至中心位置,可以通过matlab中矩阵处理的语法便捷实现 由于非偶数会出现不能被2整除情况,因此需要做取整处理 优化 使用上述算法经过讨论,复杂度为O(N^3),并且在处理更大尺寸的图像(老师提供785×442)时,运行时间极长。 因为了解到matlab对矩阵运算具有高效快速优点,便把思考放在如何将算法通过矩阵运算实现。 思路同样是通过两个一维变换完成,因此只以分析按行遍历,对列(y)展开为例,对思路进行陈述。 观察到公式中的基函数部分其实已经固定,因此直接通过相乘获得某个频率分量(Vn)对应的不同y值得出(某个频率分量)所有计算需要的指数部分,如下所示: 共N列 下一步将图像信息与对应的分量对应相乘,得到,那么加和则是对每行相加——每一行的x保持不变。最终得到一维转换后的结果: 具体代码 时间已过 16.837070 秒。 此用时与分钟相比下降很多,但比较系统中的fft(),用时约为0.1s,因此下一步可以思考如何进行快速傅里叶变换的使用。 参考资料 Matlab-结构体数组的索引 matlab里的图像处理函数

GPU概述

任务 在对CPU进行了解后,不妨下一步对与它相似的GPU进行系统认识。初次注意到它是对于深度学习设备的联系,感觉它具有卓越的运算性能。GPU对图像显示的功能主要体现在游戏画面,整个发展过程不妨随游戏的变化直观感受。 定义 图形处理器(英语:Graphics Processing Unit,缩写:GPU;又称显示核心、显卡、视觉处理器、显示芯片或绘图芯片)是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器。 意义 图形处理器使显卡减少对中央处理器(CPU)的依赖,并分担部分原本是由中央处理器所担当的工作,尤其是在进行三维绘图运算时,功效更加明显。图形处理器所采用的核心技术有硬件坐标转换与光源、立体环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等。 技术背景与发展 黑白 最初,电脑中处理影像输出的显示芯片,通常很少被视为是一个独立的运算单元。虽然英伟达公司(NVIDIA)在1999年8月发表GeForce 256绘图处理芯片时首先提出GPU的概念,但从上世纪70年代起,已经可以在游戏机上显示图像,但方式是直接用CPU桶式移位器把图像数据输出到显示器上。 彩色 到80年代时,第一块使用大规模集成电路技术的GPU诞生,是美国的一家图像芯片公司制造的NEC µPD7220,它也带动了一次GPU革命浪潮,推动intel公司第一款图像处理芯片82720的出现,能够处理16位的彩色图像。 3D 随着图像显示技术的发展,越来越多种颜色可以显示在屏幕上,也应运而生了2D和3D的专用芯片,日本的游戏公司Namco在1988年发布的Namco System 21是第一款针对3D图像显示设计的游戏主板。 VGA与SVGA 这两个词语是在C课设期间耳熟能详的两种显示方案,其实它们的含义分别是: VGA是IBM于1987年提出的一个使用模拟信号的电脑显示标准。这个标准已对于现今的个人电脑市场已经十分过时。 原本SVGA是IBM用来扩展旧VGA标准而提出的新标准,之后SVGA是由开放组织VESA所制定,并且工业界放弃了为每个更高标准给定独特命名的企图。几乎在1990年后期至2000年前后,显卡能表现出的各种显示规格都被归类在SVGA中。 个人电脑 1990年代初期,Microsoft Windows的崛起引发人们对高性能、高清晰度二维位图运算的兴趣。在个人电脑市场上,Windows的优势地位意味着台式机图形厂商可以集中精力发展单一的编程接口,图形设备接口。这个时期出现的Win G图形接口成为包括PS在内的大批3D软件的支持API,此外有大量游戏,其中之一是风靡美国的首款第一人称视角射击类游戏:Doom。我也在一个提供游戏模拟器的网站体验了这个小游戏,选择难度为中档(hurt me plenty),居然在第二关就被怪物的大火球烧死,得出结论:菜鸟在任何时期都是菜鸟。 OpenGL OpenGL是出现于90年代初的专业图像API,并成为在个人电脑领域上图像发展的主导力量,和硬件发展的动力。虽然在OpenGL的影响下,带起广泛的硬件支持,但在当时用软件实现的OpenGL仍然普遍。 此前我很容易把OpenGL与OpenCV混淆,一个区分方法是,前者将图像显示在计算机上,后者用计算机处理图像。 运用它进行渲染的游戏不计其数,一个著名的例子是B站Up主老番茄的成名之作杀手(HitMan)的首部。 科学计算 到2002年10月,随着ATI Radeon 9700(也称为R300)的推出,世界上第一个Direct3D 9.0加速器,像素和顶点着色器可以实现循环和冗长的浮点数学运算,并且很快变得像CPU一样灵活,但是对于图像阵列操作,速度更快。像素阴影通常用于凹凸贴图,从而增加纹理,使对象看起来发亮,暗淡,粗糙,甚至圆形或挤压。 随着Nvidia GeForce 8系列的推出,GPU成为了更加通用的计算设备。被称为GPU计算或用于GPU上的通用计算的GPGPU的研究子领域已进入机器学习,石油勘探,科学等领域图像处理,线性代数,统计, 3D重建,甚至股票期权定价确定。当时的GPGPU是现在称为计算着色器(例如CUDA,OpenCL,DirectCompute)的先驱,实际上通过将传递给算法的数据视为纹理贴图并通过绘制三角形或四边形来执行算法,从而在一定程度上滥用了硬件使用适当的像素着色器。显然,这会带来一些开销,因为实际上不需要的部件包括扫描转换器之类的部件(三角形操作也不是一件值得关注的事情,除了调用像素着色器外)。 总结上面的概念,是利用GPU卓越的并行计算性能来进行实际上与图像处理无关的数学运算。举个实例,比特币早期通过CPU来获取,而随着GPU通用计算的优势不断显现以及GPU速度的不断发展,矿工们逐渐开始使用GPU取代CPU进行挖矿。 自动驾驶 2019年NVIDIA发布全球最大自动驾驶处理器DRIVE AGX Orin,它的构成正是集成了NVIDIA的下一代GPU架构和Arm Hercules CPU内核,以及新的深度学习和计算机视觉加速器,这些加速器合计每秒可提供200万亿次操作。 参考资料 Graphics processing unit-wiki https://en.wikipedia.org/wiki/Graphics_processing_unit 图形处理器-维基百科… Continue reading GPU概述

CPU概论

任务 综述在计算机发展中两个例子,详细描述当时的技术背景,所描述的对象,总结其特点、进步点、推动计算机技术发展的价值和意义、缺陷及后续技术改进等,鼓励图文并茂。 意义 热点新闻是厂商发布高性能的CPU,内行人士可以感受到不同代际间的发展变化,但外行看到各种参数只是不明觉厉,不知晓其中的突破点与先进性。但正如绪论中让人印象深刻的一个观点:硬件工程师需要理解软件需求以得到研发方向,而软件工程师在理解硬件的基础上能使软件的性能得到最大程度的提升。因此,对CPU进行了解是有必要的,这是本次综述选题的出发点。 技术背景 最初计算机的目的正是为了计算,大多数采用的数制是10进制,即每一位由10个真空管表示。在1949年,轻量化BINAC(Binary Automatic Computer)的诞生使工业界向二进制的方案趋近,不过二进制的具体表示在原码、反码和补码的摇摆中才过度到现代的补码表示。 在计算机发明之初,它的软硬件设计是独特的,即使同一公司生产的不同产品也无法共享程序。因此公司的用户粘性很低,更新换代的优先考虑是价格与性能,而非无法沿用数据的旧产品的下一代。IBM公司注意到这一痛点,新的研发方案致力于打造可以使软件通用的不同性能的产品线,这样可以使用户根据需求变化沿用系列产品,这是IBM 360的诞生契机,也是第一个里程碑式指令集的架构的出现,在后面对CPU特点的论述中,可以看到指令集正是CPU的核心所在。 当然,此时的CPU由于生产工艺与电子器件限制,仍然是巨型的机器,对于IBM 360系列部分产品的相关参数如下表所示: Model Announced[14] Memory size (in (binary) KB) Weight (lbs) Notes 30 Apr 1964 8-64[16] 1700 (770 kg)[17]:2030.1   40 Apr 1964 16-256[18] 1700-2310 (770-1050 kg) depends on memory.[17]:2040.1   50 Apr 1964 64-512[19] 4,700-7,135 (2,100-3,236 kg) depends on memory.[17]:2050.2,2050.4 Supported IBM 2361 Large Capacity Storage (LCS). 20 Nov… Continue reading CPU概论

使用SCI-HUB下载论文

任务 新学期的各学科分别需要搜索近期相关领域论文,撰写综述。在图书馆提供的数据库资源外,有一种类似黑客的公义举动,是屡屡被封禁的SCI-HUB网站,它的创始人反感数据库通过购买人类智慧成果获益,去除信息壁垒。希望在没有学生身份庇护时,依然有科研工作的可能,便尝试使用之。 过程 知乎上有很多教程,但我还是不太清楚机理是什么,面对网站上的一个搜索框,只能尝试输入关键词。 但反馈的结果是文字界面—— If you’re using Google chrome, you can install Sci-Hub extension to use search. To do this: Download the extension and unpack it. You get the “Sci-Hub” folder with code. Open Chrome and navigate to chrome://extensions, or just open the menu -> settings -> extensions. Check the developer mode in upper right. If… Continue reading 使用SCI-HUB下载论文

Matlab计算传感器静态特征参数

任务 对于《传感器检测与技术》中第二章的数据计算题目,需要对系列数据进行处理,可以利用Matlab中的矩阵运算和相关函数快速实现。下面以一道例题进行分析,并最后附上最小二乘法求取拟合直线的相关代码。 题目 设有压力传感器的校准数据列于下表,试求 (1)端基拟合直线; (2)端基线性度; (3)滞环误差; (4)重复性误差(λ=3); (5)准确度。 解答 端基拟合直线 端基拟合是求取传感器线性度的拟合直线中一种,顾名思义,是直接连接输入/输出曲线两端点以得到拟合直线。 但由于题目中提供测量的多组数据,故需要取平均值: 输出: 则两端点分别为(0.0,0.0031)与(5.0,0.9995),相应得出拟合直线Y=A0+KX中的参数值: A0=0.0031 K=(0.9995-0.0031)/(5.0-0.0) 端基线性度 线性度则是通过定义公式进行求取,即实际输入/输出曲线与拟合直线的最大偏差ΔYm与满刻度输出值Yfs的比值,由于题目仅提供散点,则只需选取散点的最大偏差进行计算。 滞环误差 计算正、反行程差距最大偏差与最大输出与满刻度输出值之比 重复性误差 通过贝塞尔公式求取标准差,可以通过matlab中的std()函数实现。 准确度 将上述得到的线性度σL、滞环误差σH与重复性误差σR代入公式即可。 最小二乘法 参考资料 MATLAB中矩阵各列求和,各行求和,所有元素求和 概率统计:MATLAB计算标准差和方差 std 贝塞尔公式与标准偏差

开学第一课与电子线路实验

【日期】 2020.9.7 【杂谈】 《自动控制原理》 上午第一节是自动控制原理,第一节总是令人感到轻松。老师和同学都喜欢概论这一部分,因为站在宏观的角度可以将学科涉及延拓的各个方面尽收眼底,增加谈资的同时不需要担心做为考试重点,给老师自由发挥的空间极大,是课程创新最集中也可能是最前沿的部分;让同学任意驰骋的机会充足,浅显的宏观叙述脱离精细算法,没有压力的状态下完成课程入门。 但凭感觉,老师对于第一节课总会紧张的,即使我想她也明白下面的同学不会特别在意表现,但第一次会面总是具有特殊意义。老师的准备蛮用心,只是时运不济,自带的麦克风与无线笔都不起作用,让我联想起曾经在剑桥暑期夏令营中答辩的自己,突如其来的意外使一切举动都奇怪起来。 老师长相温婉,成就颇丰,目前是华科特聘教授,参与智能系统实验室,主要方向与电网系统的决策相关。正好与舍友璇的未来方向一致,让我艳羡极了,因为老师也十分欢迎同学联系她进行科研学习。 第一节课的授课效果不错,老师准备很多互动,当屏幕放映出狙击枪、弹道导弹与防空导弹时,询问班级是否有军事爱好者,正巧有从军队退伍的插班生专业地为大家讲解,只是过于追求准确性使中途一段绞尽脑汁,暗自为其焦急但还是流畅地进行下去。 主要内容是自动控制系统的概念,以及按照不同方式对系统进行分类,结合实例向我们说明,比如温度仅随时间变化的恒温箱是集中参数系统,温度还随其他参数如空间变化的会场是分布参数系统等。某些概念容易产生分歧,电风扇属于自动控制系统,疑惑一段时间才有所理解;目标信号的形式分类,固定参数、程序控制、随动控制,三种系统的举例有些感觉不大贴切。 电子线路实验 课后,需要分装下午使用的电子器件,面对整体的包装,集中的同学陷入困境。联想到之前智能车队时的分拣流程,我自然而然建议仿效此法,只是同学们犹豫不决。我便着手行动,先将个头比较大的喇叭均匀排布在桌上,提供航标。渐渐的,他们也认可了这一方法,越来越多的人加入了这一队伍,我心中有种敢为人先的豪迈感。说到底,这种方法是有些反人性的,因为越着急的人可能需要更费力才能得到他要达成的目的,而不急切的人可以坐享其成。在这个过程中,我有心观察同学的表现,最初失望其他女生都没有行动,但另一方面让我感觉自己虽然形象改变,但态度未变;之后又审视自己的行为,觉得更合理的举动是不露声色的召唤她们“姐妹们!一起来当流水线分拣工!”,而不是在她们陷入多数人无意识时苛求表现,等待其他男生去指出。 中午稍事休息,进入直播课堂听老师讲解,但状态一般。没有太多思路的我决定先把元件整理好,由老师课件中的提示,利用山竹的泡沫盒,清点电阻阻值,分门别类插在泡沫板上,“棕红橙黄绿蓝紫灰白黑”,这句口诀是标定核心,此外是对颜色的敏感辨识。舍友们也盯上我的箱子,最终经过拆解分为多块,不过她们最终还是选择购买大工厂时代生产的塑料箱子,同样的变迁反映在老师的PPT中。 今日实验需要验收的是使用集成运放LM324搭建反相比例积分电路,在宿舍匆忙接好,在前往南一楼实验室的路上吃晚饭,火急火燎中半碗刀削面下肚。不知是天气灼烧我身体,还是急躁心情不减,在刷卡经过门禁时系统判定我的体温异常为37.3℃,更加剧我的燥热感,再次尝试后成功进入。 落座后,周围同学惯常打趣,“有姐在,可以躺”,我还是不习惯积极回应,含笑迎接此起彼伏的点名。有人观摩我的电路板,我外出接水,从侧楼一直沿走廊走过主楼,直到另一边也不见开水间,于是作罢。一直注意旁边墙上挂的成果与实验室展牌,希望发现感兴趣方向的实验室,以待后期联系,因为距今有一定时间,并非最新进展的介绍在我看来也还前沿,注意到一个智能机器人实验室,只是它陈旧的门紧闭着,不禁使人犹疑它的活动性。回来时注意到不认路的靖,顺便指引一下。 在边学边做边教中完成后,虽然发现产生波形,但事后还是调整良久才找到正确方式,贴上实验报告中的总结: 信号寻迹法。由于起初得到了较稳定的输出波形,但输入信号的频率总在不停波动,不解缘由便向老师请教。老师查看后指出波形并不正确,同时利用示波器的第二个输入信号channel进行输入信号的查验,让我更换信号源再测试电路,因为输出信号也不正确。 对比法。虽然自己已在理解的状态下对电路进行分析与设计,但当局者迷,遇到类似现象的同学首先怀疑是电路接线有误,当与我一同观察我的线路连接后,发现的第一个问题是电源接法,我只使用了稳压电源的一个channel,即:负极接11引脚V-,正极接4引脚V+,但是实际上此时两端供电仅为12V,且没有接地。应修改为,分别开启两个chanel输出12V稳压电源,一个channel供电负电压,故负端接引脚V-,正端接地;另一个channel供电正电压,故正端接引脚V+,负端接地。 部件替换法。当求助多次没有解决方案,只是找到一些难兄难弟,稳定的输出波形是微分电路的典型波形。有后期解决的人提供的原因是线路有误,但我已经运用之前的对比法排除。  下一个怀疑对象是接触不良、短路,对引脚长度进行调整,减少不必要的接线,还是没有好转; 但注意到反馈端的电容与电阻在摇动时会影响输出波形。因此分别替换了他人的0.01μF电容、100kΩ反馈电阻,遗憾的是仍然没有变化; 最终担心是运放损坏,直接替换为他人的LM324运放,激动人心的事情发生了,示波器上的波形发生变换,AUTOSET后出现了积分电路的波形。 本次实验最初设计较快,但遇到波形问题后调试耗费久。究其原因,是没有提前做好预习工作,因此最初电源接法有误。另外出现问题会心态急躁,没有仔细思考问题原因,归咎于未知的错误。而且为求快经常带电改动线路,一方面有安全隐患,另一方面更易造成电子器件损坏。 反思总结 【絮语·梦】 我的电纸书屏幕破碎,到维修店抢救。