MATLAB实现将pcm抽样后得到的值用13折线转换成对应的值

本文介绍了一种信号处理技术,通过MATLAB代码实现原始模拟信号的抽样和13折线编码。首先生成了正弦波模拟信号,并进行抽样处理,然后对抽样信号应用13折线编码,展示了抽样信号和编码后的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源代码:

function zhexian()
t=0:0.1:6*pi;
x=sin(t);             %模拟信源
subplot(2,1,1);
plot(t,x);
title ( '原始模拟信号' );
t1=0:2*pi/32:6*pi;            %按每周期取32个点抽样
x1=sin(t1);
subplot(2,1,2);
plot(t1,x1);
stem(t1,x1);
title ( '抽样信号' );
z=zhexian_(x1);%13折线 
x1                      %每个点抽样值
z                       %对应十三折线的值

function y=zhexian_(x)    %十三折线换算
x=x/max(x);         
z=sign(x);            
x=abs(x);             %取绝对值
for i=1:length(x)             %取长度
    if((x(i)>0)&&(x(i)<1/64))
        y(i)=16*x(i);
    else if((x(i)>=1/64)&&(x(i)<1/32))
            y(i)=x(i)*8+1/8;
        else if((x(i)>=1/32)&&(x(i)<1/16))
                y(i)=4*x(i)+2/8;
            else if((x(i)>=1/16)&&(x(i)<1/8))
                y(i)=2*x(i)+3/8;
                else if((x(i)>=1/8)&&(x(i)<1/4))
                        y(i)=x(i)+1/2;
                    else if((x(i)>=1/4)&&(x(i)<1/2)) 
                            y(i)=1/2*x(i)+5/8;
                        else if((x(i)>=1/2)&&(x(i)<=1))
                                y(i)=1/4*x(i)+3/4;
                            end;
                        end;
                    end;
                end;
            end;
        end;
    end;
end;
y=z.*y;

运行结果:
(1)原始信号和抽样信号:
在这里插入图片描述
(2)每个点抽样值和对应十三折线值:
在这里插入图片描述
在这里插入图片描述

内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值